
👉 项目官网:https://www.python-office.com/ 👈

大家好,这里是程序员晚枫,正在all in AI编程实战。
每次做汇报都要手动画图表?
今天教你怎么用 python-office 自动生成 Excel 图表。
1、快速生成柱状图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import office
data = [ ['姓名', '销售额'], ['张三', 100000], ['李四', 120000], ['王五', 80000], ['赵六', 150000] ]
office.excel.chart( path='销售图表.xlsx', data=data, chart_type='bar' )
|
2、生成折线图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import office
data = [ ['月份', '销售额', '成本'], ['1月', 50000, 30000], ['2月', 60000, 35000], ['3月', 55000, 32000], ['4月', 70000, 40000] ]
office.excel.chart( path='趋势图.xlsx', data=data, chart_type='line', title='2024年销售趋势' )
|
3、生成饼图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import office
data = [ ['产品', '占比'], ['产品A', 35], ['产品B', 25], ['产品C', 20], ['产品D', 20] ]
office.excel.chart( path='占比图.xlsx', data=data, chart_type='pie' )
|
4、设置图表样式
1 2 3 4 5 6 7 8 9 10 11 12 13
| import office
office.excel.chart( path='美化图表.xlsx', data=data, chart_type='bar', title='销售数据', color='blue', show_legend=True, show_value=True, width=15, height=10 )
|
5、实战案例:自动生成月度报表图表
每月自动生成带图表的报表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import office import os from datetime import date
def generate_monthly_report(year, month): """生成月度报表""" today = date.today() filename = f'{year}年{month}月报表.xlsx' df = office.excel.read(path=f'{year}-{month}-data.xlsx') sheets = { '数据': df.values.tolist(), '图表': df.values.tolist() } office.excel.chart( path=filename, data=sheets['图表'], chart_type='bar', title=f'{year}年{month}月数据', color='green' ) print(f'报表已生成: {filename}')
generate_monthly_report(2024, 1)
|
6、实战案例:批量生成多张图表
为每个产品生成一张单独的图表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import office import os
def generate_product_charts(folder): """为每个产品生成图表""" df = office.excel.read(path='产品汇总.xlsx') os.makedirs('产品图表', exist_ok=True) for product in df['产品名称'].unique(): product_data = df[df['产品名称'] == product] filename = f'产品图表/{product}趋势.xlsx' office.excel.chart( path=filename, data=product_data.values.tolist(), chart_type='line', title=f'{product}销售趋势' ) print(f'已生成: {filename}')
generate_product_charts('数据文件夹')
|
7、常见问题
Q:图表位置不对?
A:可以用 position 参数指定位置:
1
| office.excel.chart(path='chart.xlsx', data=data, position='C5')
|
Q:想要组合图(柱状+折线)?
A:用 chart_type='combo' 可以创建组合图。
8、下讲预告
学会了图表生成,下一讲我们学 Word高级:批量生成合同。
敬请期待!
有问题欢迎加微信 python-office 进群交流~
程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。
🎓 AI 编程实战课程
想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!