gpt4 book ai didi

ruby - Axlsx gem : is it possible to apply a background color to individual cells?

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:46 24 4
gpt4 key购买 nike

可以将字体颜色应用于单个单元格,而无需创建样式:

Axlsx::Package.new do |p|
p.workbook.add_worksheet(:name => "test") do |ws|
ws.add_row ["a", "b", "c"]
ws.add_row ["d", "e", "f"]
ws.add_row ["g", "h", "i"]

ws.rows.each do |r|
r.cells.each do |c|
c.color = "009900"
if ['a', 'e', 'i'].include?(c.value)
c.color = "009900" // how can I do the same for background color?
end
end
end
end
p.serialize('test.xlsx')
end

可以将样式应用于单个单元格:

Axlsx::Package.new do |p|
p.workbook.add_worksheet(:name => "test") do |ws|
style1 = ws.styles.add_style( :bg_color => "FFFFFF00")
ws.add_row ["a", "b", "c"]
ws.add_row ["d", "e", "f"]
ws.add_row ["g", "h", "i"]

ws.rows.each do |r|
r.cells.each do |c|
if ['a', 'e', 'i'].include?(c.value)
c.style = style1
end
end
end
end
p.serialize('test.xlsx')
end

但在我的例子中,这是不切实际的,因为我希望单元格背景是单元格值的函数,并且希望避免构建成百上千种样式。

有什么建议吗?

最佳答案

我会在一个代码块中回答你的问题,为特定单元格添加样式并为单元格添加背景颜色,你可以这样做:

Axlsx::Package.new do |p|
p.workbook.add_worksheet(:name => "test") do |ws|
style1 = ws.styles.add_style(:bg_color => "EF0920", :fg_color => "FFFFFF")
ws.add_row ["a", "b", "c"], :style => style1
ws.add_row ["d", "e", "f"], :bg_color
end
p.serialize('test.xlsx')
end

注意:bg_color 是背景颜色fg_color 为前景色(文字颜色)。

关于ruby - Axlsx gem : is it possible to apply a background color to individual cells?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com