我正在使用axlsx gem生成Excel工作表。
我的Excel中有多种样式。下面是一个示例
style1 = wb.styles.add_style(:font_name => "Arial", :sz => 10, :i => true, :fg_color => "A6A6A6")
现在,我需要编写一个将这种样式(和货币值)作为参数的函数。如果货币值是负数(所有其他样式,例如背景色,字体大小,斜体等都应保持不变),则此函数应仅将fg_color
(字体颜色)修改为红色,并返回修改后的样式。>
是否可以实现相同的目标?
def get_currency_style(style, currency_value)
if currency_value < 0
new_style = <modify ONLY the font color to red in 'style' object>
else
new_style = style
end
return new_style
end
答案 0 :(得分:1)
让您的样式成为哈希,然后对其进行修改。
def get_currency_style(style, currency_value)
if currency_value < 0
style[:fb_color] = 'red'
end
return style
end
style1 = wb.styles.add_style(get_currency_style({ font_name: "Arial", sz: 10, i: true, fg_color: "A6A6A6" }, -10))