ruby电子表格行背景颜色

我正在尝试使用“电子表格”解析excel电子表格。 我怎么能得到每一行的背景颜色?

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 

您可以遍历每一行/单元格,并将样式准确地应用到您想要的位置

我正在寻找可用于细胞背景颜色的颜色。 例如:

 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橄榄色,7silverlight,8灰色,9蓝色,10石灰色,11水色,12红色,13紫红色,14黄色,15白色

我刚刚试图找出相同的东西,并且看起来像Spreadsheet gem的当前版本(0.6.5.9),读取器不支持单元格背景颜色的属性(您只能在单元格中定义背景颜色以进行写入) 。

以下是检查所有当前可用单元属性的方法:

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

经过一些实验,我发现不是所有的都经过适当的提取。 好消息是开发人员承诺在未来的版本中实现对单元格格式的更好支持,所以我们需要耐心等待:)