我正在使用axlsx红宝石创建一个Excel文件,我不知道如何只对选定的单元格应用粗体和背景样式(这里是状态单元格)。
我研究了一些方法,比如col_style、row_style和add_conditional_formatting,但是无法准确地解决,如何在我的代码中使用它,或者在这里它是否对我的需求有任何帮助。
目前的数据结构:
work = [ {:state=>"Texas", :details=>{}}
{:city=>"LasVegas", :details=>{"Rob"=>"Doctor", "Dino"=>"Artist"}}
{:city=>"El paso", :details=>{"Jer"=>"Journalist", "Milo"=>"Vet"}}
{:state=>"Florida", :details=>{}}
{:city=>"Miami", :details=>{"Jake"=>"Army", "Steve"=>"Retired"}}
{:city=>"Tampa", :details=>{"Cohen"=>"Teacher", "Mike"=>""}} ]我的代码片段:
只有Excel部件
require 'axlsx'
p = Axlsx::Package.new
p.workbook.add_worksheet(:name => "Data") do |sheet|
style1 = sheet.styles.add_style(:bg_color => "EF0920", :fg_color => "FFFFFF", b:true)
style2 = sheet.styles.add_style(:bg_color => "00FF00", :fg_color => "FFFFFF", b:true)
sheet.add_row ["State", "City", "Name", "Profession"], :style => style1
work.each do |val|
sheet.add_row [ val[:state], val[:city] ]
val[:details].each do |k, v|
sheet << ["", "", k, v]
end
end
sheet.add_row
end
p.serialize 'Data.xlsxstate在每个sheet.add_row之间添加一个空行,但它不起作用。(可阅性)我希望我已经清楚地表达了我的问题,并提前感谢你的帮助
电流格式

预期格式

发布于 2018-07-01 23:04:54
样式方法为每个单元格接受一个数组,因此,如果您执行以下操作,将有一个粗体的"State“字段,行中的其他单元格缺少样式,除非特别添加:
embolden_style = style.add_style(b: true,bg_color: '78F2FF')
sheet.add_row ["State", "City", "Name", "Profession"], style: [embolden_style, nil, nil, nil]https://stackoverflow.com/questions/51123055
复制相似问题