Openpyxl - 背景颜色未保存在文件中

Openpyxl - background color isn't saved in file

我的 Python 脚本应该检查某个字符串是否包含在单元格中。如果此条件匹配,脚本将更改另一个文件中单元格的背景颜色。 这个过程在for循环中重复多次

from openpyxl.styles import PatternFill
column_color = sheet_database.cell(row = nextitem , column = 18).value
            cell_paint = sheet_blatt.cell(row = 7 + multiplicator * 10 , column = selected_column + 1).fill
            if column_color == 'AAAAAA':
                 cell_paint = PatternFill(fgColor='C00000', bgColor='C00000', fill_type='solid')

            elif column_color == 'BBBBBB':
                 cell_paint = PatternFill(fgColor='FF0000', bgColor='FF0000', fill_type='solid')

由于某些原因,颜色最终没有保存到文件中。 脚本的其余部分只是更改单元格的值,因此颜色不能被脚本的另一部分覆盖。 此外,调试器显示正在输入并执行 if 子句。

wb_blatt.save('XXXX_' + str(number) + '.xlsx')

用于保存最终结果。

试试这个:

from openpyxl.styles import PatternFill

column_color = sheet_database.cell(row=nextitem, column=18).value
cell = sheet_blatt.cell(row=7 + multiplicator * 10, column=selected_column + 1)
if column_color == 'AAAAAA':
    cell.fill = PatternFill(fgColor='C00000', bgColor='C00000', fill_type='solid')

elif column_color == 'BBBBBB':
    cell.fill = PatternFill(fgColor='FF0000', bgColor='FF0000', fill_type='solid')