簡體   English   中英

使用FasterCsv格式化csv文件-rails

[英]formating csv files using FasterCsv - rails

我正在使用FasterCsv將數據導出到Rails中的CSV文件中。現在我想格式化CSV文件中的值

  title = ["NAME", "ID", "INSTITUTION"]
  output.write FasterCSV.generate_line(title)

如着色,加粗等

該怎么辦?有幫助嗎..

CSV文件中沒有樣式可言,只是原始數據,而csv用於純文本格式的文件。

請參閱此站點鏈接以供參考。http://www.sitepoint.com/forums/showthread.php? t=532277

正如其他人提到的那樣,您無法將格式添加到CSV文件。

CSV的字面意思是“逗號分隔的值”。 這是一個帶有值的純文本文件,用逗號分隔。 不包括格式化。

如果要包括格式設置(對於Excel,請按umeume),則必須生成其他類型的文件,例如xls文件。

您可以使用Spreadsheet gem來實現

我沒有親自使用該gem進行格式化。 在Google進行快速搜索之后,我發現了這個論壇 ,他們在該論壇上展示了如何使用它來更改單元格的格式(在這種情況下為背景色)。 警告:我自己沒有嘗試過此代碼,我不確定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'

CSV是純文本文件格式,您不能在其中提供字體屬性的AFAIK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM