我的目标是创建一个Excel文件,并使用openpyxl使用条件格式根据单元格的值更改单元格的背景色。你知道吗
当我打开用Excel创建的文件时,我可以看到规则在那里,但是规则不包括要应用的格式(背景色设置为“无”)。因此,单元格没有背景色,尽管有关公式的单元格边框不可见,就像背景为白色时一样。 我不知道我是否犯了错误,或者openpyxl是否有问题。你知道吗
这是一个MWE:
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.formatting.rule import CellIsRule
wb = Workbook()
ws = wb.active
ws['B2'] = -2
ws['B3'] = -1
ws['B4'] = 0
ws['C2'] = -1
ws['C3'] = 0
ws['C4'] = 1
fill = PatternFill(start_color='538DD5', fill_type='solid')
ws.conditional_formatting.add('B2:C4', CellIsRule(operator='lessThan', formula=[0], fill=fill))
wb.save('mwe.xlsx')
wb.close()
按照@GiovaniSalazar的答案,我做了更多的测试。 用于颜色的参数(start\u color、end\u color、fgColor、bgColor)与条件格式和简单格式(openpyxl中的bug?)的行为不同。你知道吗
下面是两者的比较。对这两种格式都有效的唯一方法是开始颜色+结束颜色。你知道吗
输出Excel文件:
Output Excel file
您需要添加如下参数end\ U color:
检查此链接:https://openpyxl.readthedocs.io/en/stable/formatting.html
结果:
相关问题 更多 >
编程相关推荐