我使用FasterCsv將數據導出到CSV文件中rails.Now我想格式化CSV文件中的值格式化的CSV文件 - 軌道
title = ["NAME", "ID", "INSTITUTION"]
output.write FasterCSV.generate_line(title)
像着色,加粗等
該怎麼做?任何幫助..
我使用FasterCsv將數據導出到CSV文件中rails.Now我想格式化CSV文件中的值格式化的CSV文件 - 軌道
title = ["NAME", "ID", "INSTITUTION"]
output.write FasterCSV.generate_line(title)
像着色,加粗等
該怎麼做?任何幫助..
CSV是一個純文本文件格式,AFAIK你不能供給字體,它的屬性。
沒有什麼風格,一個CSV文件,它僅僅是原始數據,和CSV是爲純文本格式的文件..
參考參考此sitepoint鏈接.. http://www.sitepoint.com/forums/showthread.php?t=532277
由於其他人提到,您不能將格式添加到CSV文件。
CSV的意思是,字面意思是「逗號分隔值」。這是一個包含值的純文本文件,用逗號分隔。格式不包括在內。
如果要包括格式化(Excel文件,我pressume),你將不得不產生不同類型的文件 - 例如XLS文件。
您可以使用Spreadsheet gem來做到這一點。
我還沒有親自使用該格式的寶石。在谷歌搜索後,我找到了this forum,他們展示瞭如何使用它來改變單元格格式(這種情況下的背景顏色)。警告:我自己沒有嘗試過這個代碼,我不是100%確定它是最新的。
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'
如果這是Ruby 1.9,請注意FasterCSV現在是內置CSV庫的實現。 – Phrogz 2011-01-31 14:21:42