向单元格OpenPyXL添加背景色

2024-05-14 20:10:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着让我的代码在“存在”时在单元格上显示绿色背景,在“不存在”时在单元格上显示红色背景。这是我的密码。

ws1.cell(column=1, row=t, value="%s" % blue_student_list)
if (student_check(i)):
    ws1.cell(column=2, row=t, value="%s" % "Present")
else:
    ws1.cell(column=2, row=t, value="%s" % "Absent")

这段代码工作得很完美,我只是想知道如何在单元格后面添加背景色。


Tags: 代码密码ifvaluecheckcellcolumnblue
3条回答

这里openpyxl 2.5.3,上面的代码不起作用。

尝试后,以下代码起作用:

from openpyxl.styles import PatternFill
sheet['A1'].fill = PatternFill(start_color="FFC7CE", end_color="FFC7CE", fill_type = "solid")

正如@Charlie Clark(openpyxl的合著者)所建议的,条件格式可能是一种更好的方法。

如果要更改背景颜色,从较新版本开始,关键字bgcolor似乎不起作用(在我的示例中,它的单元格颜色最终为黑色)。

相反,您可以使用start_colorfgColor。例如,两种解决方案都有效:

from openpyxl.styles import PatternFill
from openpyxl.styles.colors import YELLOW

sheet['A1'].fill = PatternFill(start_color="FFC7CE", fill_type = "solid")
sheet['A1'].fill = PatternFill(fgColor=YELLOW, fill_type = "solid")

从文件中

    from openpyxl.styles import PatternFill

    sheet['A1'].fill = PatternFill(bgColor="FFC7CE", fill_type = "solid")

希望这有帮助。

相关问题 更多 >

    热门问题