XlsxWriter : 制作实心填充数据栏

XlsxWriter : make a solid filled data bar

我已经通过 conditional_format 方法使用 python 模块 xlsxwriter 成功创建了一些数据条形图。 但是,是否可以在xlswriter或python中指定条件格式的填充模式? 我尝试了以下无效的代码:

myformat = workbook.add_format()
myformat .set_pattern(1)
worksheet.conditional_format(0, 4, 0, 4, {'type': 'data_bar',
                                                  'min_value': 0,
                                                  'min_type': 'num',
                                                  'max_value': 110,
                                                  'max_type': 'num',
                                                  'bar_color': '#C00000',
                                                  'format': myformat})

可以使用 XlsxWriter 为某些条件格式设置格式的模式。

但是,据我所知,在 Excel 中不可能为 data_bar 条件格式设置 patten 类型。

您可以使用单元格格式来完成:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello_world3.xlsx')
worksheet = workbook.add_worksheet()

myformat = workbook.add_format()
myformat.set_pattern(1)
myformat.set_bg_color('#C00000')


worksheet.conditional_format(0, 4, 0, 4, {'type': 'cell',
                                          'criteria': 'between',
                                          'minimum':  0,
                                          'maximum':  110,
                                          'format':   myformat})

worksheet.write(0, 4, 50)


workbook.close()

另一方面,如果您正在寻找非渐变 data_bar 填充,目前不支持。

对于较新的版本,您只需要 'data_bar_2010' 属性 为真:

worksheet.conditional_format(0, 4, 0, 4, {'type': 'data_bar','data_bar_2010': True})

the xlsxwriter documents here