gpt4 book ai didi

python - 如何在 openpyxl 中应用条件格式?

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:57 25 4
gpt4 key购买 nike

我正在使用 openpyxl 来操作 Microsoft Excel 工作表。

我想要做的是添加一个条件格式规则,如果行号是偶数,则用给定的颜色填充行,如果不是偶数,则将该行留空。

在 Excel 中,可以通过选择所有工作表,使用文本 =MOD(ROW();2)=0=EVEN(ROW( )) = ROW().

我尝试使用以下代码行实现此行为(例如考虑前 10 行):

redFill = PatternFill(start_color='EE1111', end_color='EE1111', fill_type='solid')
ws2.conditional_formatting.add('A1:A10', FormulaRule(formula=['MOD(ROW();2) = 0'], stopIfTrue=False, fill=redFill))

我的程序运行正常,但当我尝试打开输出 Excel 文件时,它告诉我该文件包含不可读的内容,并询问我是否要恢复工作表内容。单击"is"后,工作表就是我所期望的,但没有格式。

在 openpyxl 中应用此类格式(可能应用于整个工作表)的正确方法是什么?

最佳答案

不幸的是,条件格式中处理公式的方式特别不透明。最好的办法是创建一个具有相关条件格式的文件,并通过解压缩来检查相关文件。规则存储在相关工作表文件中,格式存储在样式文件中。

但是,我怀疑问题可能只是因为您使用了“;”分隔函数中的参数:必须始终使用逗号。

我的一个项目的示例公式:

green_text = Font(color="006100")
green_fill = PatternFill(bgColor="C6EFCE")
dxf2 = DifferentialStyle(font=green_text, fill=green_fill)
r3 = Rule(type="expression", dxf=dxf2)
r3.formula = ["AND(ISNUMBER(C2), C2>=400)"]

关于python - 如何在 openpyxl 中应用条件格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com