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

时间:2017-08-10 16:05:57

标签: python openpyxl

我的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')

用于保存最终结果。

1 个答案:

答案 0 :(得分:0)

试试这个:

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')