OpenPyXl:Cellisrule功能出乎意料的失败



我正在打开一个excel文件并应用一些条件格式:

from openpyxl import *
from openpyxl.formatting.rule import CellIsRule
os.chdir(r'C:Usersmyfolder')
wb= load_workbook('myfile.xlsx')
ws = wb.active
#Conditional formatting
ws.conditional_formatting.add('S3:S89', formatting.CellIsRule(operator='equal', formula=['1'], font='#FF0000')) #Red

这是基于此答案完成的。但是,我得到了这个错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-190-fb94e6065444> in <module>()
---> 10 ws.conditional_formatting.add('S3:S89', formatting.CellIsRule(operator='equal', formula=['1'], font='#FF0000')) #Red
AttributeError: module 'openpyxl.formatting' has no attribute 'CellIsRule'

发生了什么事?我使用的是openpyxl版本2.4.8,而此答案则为2.2.6版。但是,CellIsRule功能似乎仍然存在。我想念什么?

尝试以下类型的方法:

import openpyxl
os.chdir(r'C:Usersmyfolder')
wb = openpyxl.load_workbook('myfile.xlsx')
ws = wb.active
#Conditional formatting
red_font = openpyxl.styles.Font(size=14, bold=True, color='9c0103')
ws.conditional_formatting.add('S3:S89', openpyxl.formatting.rule.CellIsRule(operator='equal', formula=['1'], font=red_font)) #Red

最新更新