Axlsx 格式
Axlsx Formatting
是否可以同时格式化行和列?
例如,我正在做一个循环,该循环使用索引根据行是偶数还是奇数来设置不同颜色的样式,但我还想设置具有百分比的列的样式以使用 :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
(我的偶数行样式设置在我的代码顶部)
我明白了,你需要使用类似
的东西来设置你的风格
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]
end
是否可以同时格式化行和列?
例如,我正在做一个循环,该循环使用索引根据行是偶数还是奇数来设置不同颜色的样式,但我还想设置具有百分比的列的样式以使用 :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
(我的偶数行样式设置在我的代码顶部)
我明白了,你需要使用类似
的东西来设置你的风格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]
end