XlsxWriter:制作一个实心填充的数据栏

时间:2015-01-08 15:04:48

标签: python excel bar-chart xlsxwriter

我已经使用python模块xlsxwriter通过其conditional_format方法成功创建了一些数据条图。 但是,是否可以在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})

2 个答案:

答案 0 :(得分:3)

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

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

您可以使用单元格格式执行此操作:

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填充,则目前不支持。

答案 1 :(得分:1)

对于较新的版本,只需将'data_bar_2010'属性设置为true:

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

请参阅the xlsxwriter documents here