是否可以同时格式化一行和列?
例如,我正在执行一个循环,该循环使用索引来根据行的偶数或奇数来样式不同颜色的行,但我也希望使用具有百分比的列来使用:num_fmt => 9。
此外,当我将数字表示为1.2时,最终会将其更改为120%,我所希望的只是数据看起来像1.2%
@people.each_with_index | person, index |
if index.odd?
sheet.add_row [person['name'], person['rate']]
else
sheet.add_row [person['name'],person['rate']], :style => even_row
end
end(我的偶数行样式设置在代码的顶部)
发布于 2018-01-31 17:51:34
我想出来了,你需要用这样的方法来设置你的风格
percent = s.add_style(:num_fmt => 9)
even_row_percent = s.add_style(:bg_color => 'blue', :fg_color => 'white', :b => false, :format_code => 0%)
even_row = s.add_style(:bg_color => 'blue', :fg_color =>'white', :b => false)然后,在您的循环中只使用带索引的each,然后使用if语句,如下所示
if index.odd
sheet.add_row[
item[:value],
item[:value_percent]], :style => [nil, percent]
else
sheet.add_row[
item[:value],
item[:value]], :style => [even_row, even_row_percent]
endhttps://stackoverflow.com/questions/47358913
复制相似问题