2011-10-11 26 views

答えて

16
book = Spreadsheet::Workbook.new 
sheet = book.create_worksheet :name => 'Name' 
format = Spreadsheet::Format.new :color=> :blue, :pattern_fg_color => :yellow, :pattern => 1 
sheet.row(0).set_format(0, format) #for first cell in first row 

または

sheet.row(0).default_format = format #for entire first row 

あなたは/それぞれの行を反復処理することができますセルとスタイルを正確に適用する

+2

善良な酒ドキュメントは恐ろしいです!ありがとう! – yekta

+0

何とか私のために働いていない - http://stackoverflow.com/questions/24608513/not-able-to-style-excel-with-spreadsheet-gem-ruby –

+2

これは、背景色を設定するためのコードではなく、それはOPが求めたものである。 –

1

私はちょうど同じことを理解しようとしていますが、現在のバージョン(0.6.5.9)のSpreadsheet gemのように、セルの背景色の属性はリーダーではサポートされていません書き込みのためのセル)。ここで

は、現在使用可能なすべてのセル属性を確認する方法は次のとおりです

a = Spreadsheet.open('/folder/spreadsheet.xls') 
puts a.worksheets[0].row(<rownumber>).format(<columnnumber>).inspect 

いくつかの実験をした後、しかし私はないそれらのすべてが適切に抽出されたことを考え出しました。良いニュースは、開発者が将来のバージョンでは、セルの書式のためのより良いサポートを実装することを約束し、私たちはただ患者する必要があるということです:)

+0

http://stackoverflow.com/questions/24608513/not-able-to-style-excel-with-spreadsheet-gem-ruby –

4

セルの背景色に使用できる色を探していました。例:

Spreadsheet::Format.new({ :weight => :bold, :pattern => 1, :pattern_fg_color => :silver }) 

私が使用できる色についての良い情報が見つかりませんでした:pattern_fg_color。私はExcelのヘルプを探して、見つけた:http://dmcritchie.mvps.org/excel/colors.htm( "16色のDOS割り当て"で)。

トップ16の色が仕事のように見えます:

0ブラック、1ネイビー、2緑、3ティール、4マルーン、5紫6オリーブ、7銀、 8グレー、9ブルー、10ライム、 11アクア、12赤、13フスキア、14イエロー、15ホワイト

+1

前述のように、より多くの着色オプションを使用できます - http://www.softwaremaniacs.net/2013/11/setting-cell-color-using-ruby.html –