在xlswriter中,invert_if_negative属性可以设置为True以将负数对应的单元格填充为相反的颜色。如果想要将单元格设置为纯色,可以通过设置边框和填充颜色来实现。
以下是代码示例:
import xlsxwriter
workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()
# 自定义格式,设置边框和填充颜色
red_bg = workbook.add_format({'bg_color': '#FFC7CE',
'border': 1})
green_bg = workbook.add_format({'bg_color': '#C6EFCE',
'border': 1})
# 设置行高和列宽
worksheet.set_row(1, 30)
worksheet.set_column('A:A', 20)
# 将第2行和第2列设置为红色
worksheet.write('B2', -10, green_bg)
worksheet.write('C2', 20, red_bg)
worksheet.write('A2', 'Data')
# 设置invert_if_negative属性为False,否则填充颜色会被覆盖
chart = workbook.add_chart({'type': 'column'})
chart.add_series({'values': '=Sheet1!$B$2:$C$2',
'invert_if_negative': False})
worksheet.insert_chart('E2', chart)
workbook.close()
在上述示例中,我们创建了一个自定义格式,设置背景颜色和边框来实现单元格纯色的效果。然后我们将对应单元格的格式设置为所需颜色的自定义格式。最后,我们创建了一个柱状图,并将invert_if_negative属性设置为False以保留填充颜色。