Xlsxwriter,仅格式化某些单元格,而不格式化整个行或整个列?

时间:2018-11-13 19:06:41

标签: python formatting xlsxwriter

我有一个数据框,正在使用xlsxwriter引擎发送到Excel,然后在关闭工作表之前将格式应用于工作表。如何只为其中有数据的列设置背景色?

例如,我能够在第二列(下面)中添加黄色背景色,但它会延伸到其中包含数据的单元格之外。我正在使用set_column()进行以下操作:

worksheet.set_column(1, 1, 18, hilite_format)

我没有看到仅设置某些行的列格式或使用set_row()仅设置某些列格式的选项。我已经将数据写入了工作表,因此无法使用worksheet.write(),否则它将覆盖那里的数据。至少我看不出有什么方法可以使用.write()来套用格式而不将数据写入或将None写入单元格。

是否有一种方法可以只绘制一系列单元格中的某些格式而不影响这些单元格中的值?我希望不必使用条件格式设置或为这些单元格重写数据就可以正确设置格式。

谢谢!

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试使用conditional_format(),突出显示非空白的单元格:

worksheet.conditional_format('B:B', {'type': 'no_blanks',
                                     'format': hilite_format})

答案 1 :(得分:1)

尝试此代码:

  • 您可以将逻辑放在这里,并随时在单元格中使用。

    merge_format = workbook.add_format({
            'border': 1,
            'align': 'center',
            'valign': 'vcenter'})

    worksheet.merge_range('A1:R1', 'AGENCIES', merge_format)