Я использую гем axlsx ruby для создания файла Excel и не могу понять, как применить жирный и фоновый стиль только к выбранным ячейкам (здесь State Cells)
Я прошел через такие методы, как 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.xlsx
Я пытался добавить пустую строку между каждым state
, используя sheet.add_row
, но это не работает. (для разборчивости)
Хотелось выделить жирным шрифтом и применить фон gree только к ячейкам государства
последнее несоответствие формата.
Надеюсь, я четко изложил свою проблему и заранее благодарю за любую помощь
Текущий формат
Ожидаемый формат