【问题标题】:I am using openpyxl to create a conditional formatting rule. how do i remove this formatting via python?我正在使用 openpyxl 创建条件格式规则。如何通过 python 删除这种格式?
【发布时间】:2022-06-24 14:16:24
【问题描述】:

我想在应用新格式之前删除所有条件规则。我该怎么做?

from openpyxl import load_workbook
from openpyxl.styles import Color, PatternFill, Font
from openpyxl.formatting.rule import FormulaRule


table = load_workbook(filename = 'lab5.xlsx')
ws = table.active

redFill = PatternFill(start_color='FF2400',
                  end_color='FF2400')

itfont = Font(italic = True)

for sheet in table:
    if sheet.title == 'macro':
        ws.conditional_formatting.add('G4:Y7',
                                      FormulaRule(formula=['G4=1'], fill=redFill))

        ws.conditional_formatting.add('G4:Y7',
                                      FormulaRule(formula=['G4=0'], font = itfont))
    
table.save('lab5.xlsx')

【问题讨论】:

  • 只需重置ws.conditional_formatting
  • 请说我该怎么做

标签: python openpyxl conditional-formatting


【解决方案1】:

在库中,conditional_formatting 类看起来像这样


class ConditionalFormattingList(object):
    """Conditional formatting rules."""


    def __init__(self):
        self._cf_rules = OrderedDict()
        self.max_priority = 0

只需使用魔法方法重置值


ws.conditional_formatting.__init__()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 2021-08-22
    • 2021-08-29
    相关资源
    最近更新 更多