首页
学习
活动
专区
圈层
工具
发布

Axlsx格式
EN

Stack Overflow用户
提问于 2017-11-17 20:39:20
回答 1查看 615关注 0票数 0

是否可以同时格式化一行和列?

例如,我正在执行一个循环,该循环使用索引来根据行的偶数或奇数来样式不同颜色的行,但我也希望使用具有百分比的列来使用:num_fmt => 9。

此外,当我将数字表示为1.2时,最终会将其更改为120%,我所希望的只是数据看起来像1.2%

代码语言:javascript
复制
@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

(我的偶数行样式设置在代码的顶部)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 17:51:34

我想出来了,你需要用这样的方法来设置你的风格

代码语言:javascript
复制
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语句,如下所示

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47358913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档