无法使用电子表格gem(Ruby)设置Excel样式

尝试设置一个excel样式 – ruby电子表格行背景颜色,但没有发生在我身上 –

这是我的代码 –

我的格式:

pass_format = Spreadsheet::Format.new :color=> :blue, :pattern_fg_color => :green, :pattern => 1 fail_format = Spreadsheet::Format.new :color=> :blue, :pattern_fg_color => :red, :pattern => 1 skip_format = Spreadsheet::Format.new :color=> :blue, :pattern_fg_color => :yellow, :pattern => 1 

试图在这里使用它们(只显示一个rest是由elses决定):

 sheet1.row(counter).default_format = skip_format sheet1[counter, 3] = 'Skipped' sheet1.row(counter).default_format = skip_format sheet1.row(counter).set_format(3, skip_format) 

计数器是我目前所在的行。这里我不确定我应该先格式化还是先写入。 我究竟做错了什么? 如何解决这个问题?

实际上它正在应用,因为我发现.inspect-

 #<Spreadsheet::Format:0x007f082f9c1d58 @font=#, @number_format="GENERAL", @rotation=0, @pattern=1, @bottom_color=:black, @top_color=:black, @left_color=:black, @right_color=:black, @diagonal_color=:black, @pattern_fg_color=:yellow, @pattern_bg_color=:pattern_bg, @regexes={:date=>/[YMD]/, :date_or_time=>/[hmsYMD]/, :datetime=>/([YMD].*[HS])|([HS].*[YMD])/, :time=>/[hms]/, :number=>/[#]/}, @used_merge=0> 

但即使它在excel中显示红色,它也是黑色的。 🙁

我正在编辑原始文件,然后在新文件中写入

  book.write "Result.xls" 

这是错误的做法吗? 我将在编辑和更新之前尝试制作新的工作簿。

好吧,无法格式化现有的Excel,然后将其写为新的Excel。 格式化丢失了。 为了克服我创建了一个新的excel(填充了我从旧excel读取的现有数据)格式化它,然后使用

book.write“xxx.xls”