红宝石电子表格行背景颜色

时间:2011-10-11 17:36:43

标签: ruby spreadsheet

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

3 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分: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 Aqua,12红色,13 Fuschia,14黄色,15白色

答案 2 :(得分:1)

我一直在试图找出相同的东西,而且似乎在Spreadsheet gem的当前版本(0.6.5.9)中,阅读器不支持单元格背景颜色的属性(您只能在单元格中定义背景颜色)写作)。

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

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

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