我正在尝试使用python将一些图标集添加到现有的excel文件中。 excel文件使用xlsxwriter编写。由于xlsxwriter不支持图标集,我关闭文件,用openpyxl重新打开它,添加图标集并再次保存。问题是,我放弃了之前添加的所有条件格式。使用“keep_vba = True”在openpyxl中打开文件会导致不可读的xlsx文件。
任何想法如何实现这一目标?
提前致谢!
P.S。:错过了一些细节。对不起。我在两种情况下(xlsxwriter和openpyxl)编写xlsx文件,并在带有excel 2013的Windows机器上使用python 2.7和最新版本的openpyxl和xlsxwriter。图标集是箭头(向上,向下)的小符号,可以在条件中使用格式化。
答案 0 :(得分:1)
OpenPyXl支持条件格式和图标集。
请参阅官方文档:Conditional Formatting > IconSet
以下是一个例子:
>>> from openpyxl.formatting.rule import IconSet, FormatObject
>>> first = FormatObject(type='percent', val=0)
>>> second = FormatObject(type='percent', val=33)
>>> third = FormatObject(type='percent', val=67)
>>> iconset = IconSet(iconSet='3TrafficLights1', cfvo=[first, second, third], showValue=None, percent=None, reverse=None)
>>> # assign the icon set to a rule
>>> from openpyxl.formatting.rule import Rule
>>> rule = Rule(type='iconSet', iconSet=iconset)