FasterCsv を使用してデータをレールの CSV ファイルにエクスポートしています。CSV ファイルの値を書式設定したい
title = ["NAME", "ID", "INSTITUTION"]
output.write FasterCSV.generate_line(title)
カラーリング、ボールドなど
どのようにそれを行うには?任意の助け..
FasterCsv を使用してデータをレールの 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 の場合、私はそう思います)、別の種類のファイル (たとえば xls ファイル) を生成する必要があります。
これは、 Spreadsheet gemを使用して行うことができます。
私は個人的にその宝石を書式設定に使用していません。簡単なグーグル検索の後、セルのフォーマット(この場合は背景色)を変更するためにそれを使用する方法を示しているこのフォーラムを見つけました。警告: 私はこのコードを自分で試したことがなく、最新のものであると 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ではフォント属性を指定できません。