首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FasterCsv - rails格式化csv文件

使用FasterCsv - rails格式化csv文件
EN

Stack Overflow用户
提问于 2011-01-31 17:05:18
回答 3查看 1.8K关注 0票数 0

我正在使用FasterCsv将数据导出到rails.Now中的CSV文件,我想格式化CSV文件中的值

代码语言:javascript
复制
  title = ["NAME", "ID", "INSTITUTION"]
  output.write FasterCSV.generate_line(title)

如上色、加粗等。

怎么做?有帮助吗..

EN

回答 3

Stack Overflow用户

发布于 2011-01-31 17:31:42

CSV文件中没有任何样式,它只是原始数据,csv用于纯文本格式的文件。

请参阅此sitepoint链接以供参考。http://www.sitepoint.com/forums/showthread.php?t=532277

票数 2
EN

Stack Overflow用户

发布于 2011-01-31 18:37:04

正如其他人所提到的,您不能向CSV文件添加格式。

CSV的字面意思是“逗号分隔值”。这是一个带有值的纯文本文件,用逗号分隔。不包括格式化。

如果你想包含格式(对于Excel,我建议),你将不得不生成一个不同类型的文件--例如xls文件。

您可以使用Spreadsheet gem来完成此操作。

我还没有亲自使用过这个gem进行格式化。在谷歌上快速搜索后,我找到了this forum,上面显示了如何使用它来更改单元格的格式(本例中为背景色)。警告:我自己还没有尝试过这个代码,我不能100%确定它是最新的。

代码语言:javascript
复制
require 'rubygems'
require 'spreadsheet'

Spreadsheet.client_encoding = 'UTF-8'

book = Spreadsheet::Workbook.new

class ColorFormat < Spreadsheet::Format
  def initialize(color)
    super :pattern => 1, :pattern_fg_color => color
  end
end

sheet = book.create_worksheet :name => 'My fruits'

fruits = {
  'apple' => :red,
  'lemon' => :yellow,
  'orange' => :orange
}.each_with_index do |(fruit, color), i|
  sheet[0, i] = fruit
  sheet.row(0).set_format(i, ColorFormat.new(color))
end

sheet.row(0).height = 14 

book.write '/home/serge/Documents/fruits.xls'
票数 2
EN

Stack Overflow用户

发布于 2011-01-31 17:17:38

CSV是一种纯文本文件格式,您不能在其中提供字体属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4849105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档