如何用XlsxWriter设置Excel 2016样式的图表?
用XlsxWriter创建Excel 2016 Style 3样式的图表
要在XlsxWriter中实现Excel 2016内置的Style 3图表样式,你可以直接调用图表对象的set_style()方法并传入对应编号。下面是基于基础示例修改后的完整可运行代码:
import xlsxwriter # 创建Excel文件和工作表 workbook = xlsxwriter.Workbook('chart_style3_example.xlsx') worksheet = workbook.add_worksheet() # 准备图表数据 data = [ ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], [25, 35, 40, 55, 60, 75], ] # 写入数据到工作表 worksheet.write_row('A1', data[0]) worksheet.write_row('A2', data[1]) # 创建柱形图对象(你可以根据需求替换为其他图表类型) chart = workbook.add_chart({'type': 'column'}) # 添加数据系列到图表 chart.add_series({ 'categories': '=Sheet1!$A$1:$F$1', 'values': '=Sheet1!$A$2:$F$2', }) # 核心:设置为Excel 2016的Style 3样式 chart.set_style(3) # 可选:添加数据标签(如你所说,此操作不影响样式设置) chart.set_data_labels({'value': True}) # 给图表添加标题(可选) chart.set_title({'name': 'Excel 2016 Style 3 Chart Demo'}) # 将图表插入到工作表指定位置 worksheet.insert_chart('A4', chart) # 保存并关闭工作簿 workbook.close()
关键细节说明:
set_style(3):这个方法的参数直接对应Excel 2016中「设计」菜单里的Style 3,XlsxWriter支持Excel内置的所有48种图表样式,编号从1到48,和Excel界面里的样式顺序一一对应。- 版本兼容性:确保你使用的是较新的XlsxWriter版本,旧版本可能对Excel 2016的部分样式支持不完善,可通过
pip install --upgrade xlsxwriter更新到最新版。 - 数据标签:你提到的
set_data_labels()确实独立于样式设置,仅用于展示数据值,按需添加即可。
内容的提问来源于stack exchange,提问作者Maxim.K
相关产品推荐
相关产品推荐

