Openpyxl:将条件格式应用于基于列的行

时间:2019-08-11 18:22:03

标签: python openpyxl

我有一个Excel工作表,其中工作表的列数不同,我想根据最后一列的值有条件地设置每张工作表的格式,如果该列包含True,我希望该行用绿色填充。

试图遵循openpyxl文档,但没有出现任何错误,但也没有得到想要的结果。

from openpyxl.styles.differential import DifferentialStyle
from openpyxl.styles import PatternFill, colors
from openpyxl.formatting.rule import ColorScaleRule, CellIsRule, FormulaRule
from openpyxl.formatting import Rule

# Apply conditional formmatting to each sheet
wb = load_workbook(excel_file)

red_fill = PatternFill(bgColor="FFC7CE")
dxf = DifferentialStyle(fill=red_fill)
r = Rule(type="expression", dxf=dxf, stopIfTrue=True)

for sheet in wb.worksheets:
    for row in sheet.iter_rows(min_row=2, max_col=sheet.max_column, max_row=sheet.max_row):
        r.formula = [get_column_letter(sheet.max_column) +'2="TRUE"']
        cell_range = 'A2:' + get_column_letter(sheet.max_column) + str(sheet.max_row)
        sheet.conditional_formatting.add(cell_range, r)

0 个答案:

没有答案
相关问题