使用命名样式的openpyxl条件格式

时间:2018-12-11 17:15:10

标签: python openpyxl conditional-formatting

我有一个命名样式,定义为:

style = openpyxl.styles.NamedStyle('style1')

style.fill = openpyxl.styles.PatternFill(patternType='solid', fill_type='solid', fgColor='BB0000')

style.border = openpyxl.styles.Border(left=openpyxl.styles.borders.Side(style='thin'), 
                                      right=openpyxl.styles.borders.Side(style='thin'), 
                                      bottom=openpyxl.styles.borders.Side(style='thin'),
                                      top=openpyxl.styles.borders.Side(style='thin') )

我想基于单元格值使用这种样式的条件格式。

我可以做类似的事情:

rule = openpyxl.formatting.rules.CellIsRule(operator='lessThan', formula=['0']', ...)

但是,这似乎并没有采用命名样式。它可以采用差异样式,也可以采用填充和边框作为单独的东西...

1 个答案:

答案 0 :(得分:0)

不能将命名样式与条件格式一起使用。它们的应用方式存在细微的差异,但它们的实现和存储方式也不同。只需按照命名样式创建DifferentialStyle并将其设置为规则的dxf即可。您可能可以很容易地做到这一点:

dxf = DifferentialStyle(**dict(style))