news 2026/7/10 12:05:46

影刀RPA PPT自动生成:用数据驱动演示文稿

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
影刀RPA PPT自动生成:用数据驱动演示文稿

title: “影刀RPA PPT自动生成:用数据驱动演示文稿”
date: 2026-07-01
author: 林焱

影刀RPA PPT自动生成:用数据驱动演示文稿

每周周报要做PPT,月度总结要做PPT,数据图表要截图贴进PPT……这种重复劳动最适合自动化。影刀配合python-pptx可以自动生成规范的PPT,数据更新了一键刷新。

什么情况用什么

适合自动生成PPT的场景:

  • 周报月报,格式固定,只换数据和图表

  • 销售业绩汇报,从数据库读数据自动生成

  • 多区域数据汇总,结构相同只是数据不同

  • 竞品分析报告,采集完数据自动组装

不适合的场景:

  • PPT需要精心设计排版,自动生成的太丑
  • 内容完全无规律,每次都不一样

拼多多店群自动化报活动上架!

怎么做

基础方法:从模板克隆生成

做好PPT模板,用python-pptx修改数据,克隆生成多份。

【影刀操作】

  1. 添加【Python】指令(安装依赖)

    importsubprocess subprocess.run(['pip','install','python-pptx','matplotlib'],capture_output=True)
  2. 添加【Python】指令(生成PPT)

    frompptximportPresentationfrompptx.utilimportInches,Ptfrompptx.dml.colorimportRGBColorimportmatplotlib.pyplotaspltimportio# 读取模板prs=Presentation(r'C:\模板\周报模板.pptx')# 修改第1页标题(幻灯片索引从0开始)slide=prs.slides[0]forshapeinslide.shapes:ifshape.has_text_frame:forparainshape.text_frame.paragraphs:forruninpara.runs:if'{{week}}'inrun.text:run.text=run.text.replace('{{week}}','第27周')if'{{date_range}}'inrun.text:run.text=run.text.replace('{{date_range}}','2024.06.24-2024.06.30')# 在第2页插入图表图片slide2=prs.slides[1]# 先用matplotlib生成图表,保存为图片fig,ax=plt.subplots(figsize=(8,4))weeks=['第23周','第24周','第25周','第26周','第27周']sales=[120,135,128,142,158]ax.bar(weeks,sales,color='#2196F3')ax.set_title('周销售额趋势(万元)')ax.set_ylabel('销售额(万元)')# 保存图表到内存buf=io.BytesIO()plt.savefig(buf,format='png',dpi=150,bbox_inches='tight')buf.seek(0)plt.close()# 插入图片到PPTleft=Inches(1)top=Inches(1.5)width=Inches(8)slide2.shapes.add_picture(buf,left,top,width=width)# 保存prs.save(r'C:\输出\2024第27周周报.pptx')print('PPT生成成功')

进阶方法:批量生成多个区域的PPT

从Excel读取各区域数据,批量生成报告。

【影刀操作】

  1. 添加【读取Excel】指令读取数据
  2. 按区域分组
  3. 添加【循环】指令,每个区域生成一个PPT
  4. 在循环内添加【Python】指令
    frompptximportPresentationfrompptx.utilimportInches,Ptimportcopy region=current_region_data['region']prs=Presentation(r'C:\模板\区域报告模板.pptx')# 遍历所有幻灯片,替换所有占位符forslideinprs.slides:forshapeinslide.shapes:ifnotshape.has_text_frame:continueforparainshape.text_frame.paragraphs:forruninpara.runs:run.text=run.text.replace('{{region}}',region)run.text=run.text.replace('{{total_sales}}',str(current_region_data['total_sales']))run.text=run.text.replace('{{growth_rate}}',f"{current_region_data['growth_rate']:.1%}")output_path=f"C:\\区域报告\\{region}_2024Q2报告.pptx"prs.save(output_path)print(f'已生成:{output_path}')

实用技巧:添加数据表格到PPT

【影刀操作】

frompptximportPresentationfrompptx.utilimportInches prs=Presentation()slide=prs.slides.add_slide(prs.slide_layouts[5])# 空白布局# 添加表格rows,cols=5,3table=slide.shapes.add_table(rows,cols,Inches(1),Inches(1.5),Inches(8),Inches(3)).table# 设置表头headers=['产品','销量','增长率']fori,headerinenumerate(headers):table.cell(0,i).text=header# 填入数据data=[('产品A','1,200','+15%'),('产品B','980','+8%'),('产品C','760','-3%'),('产品D','1,450','+22%'),]forrow_idx,row_datainenumerate(data,1):forcol_idx,valueinenumerate(row_data):table.cell(row_idx,col_idx).text=value prs.save(r'C:\输出\含表格的PPT.pptx')

有什么坑

坑1:模板样式没有继承

用python-pptx新建幻灯片时,字体、颜色都是默认的,和模板不一样。

解决方法:不要新建幻灯片,在现有模板幻灯片上修改内容,只替换文本和图片,不改结构。

坑2:图片插入位置偏差

TEMU店群矩阵自动化运营核价报活动


不同PPT模板的尺寸不同(宽屏16:9 vs 标准4:3),图片位置计算出来位置不对。

解决方法:先读取prs.slide_width和prs.slide_height,基于实际尺寸计算位置。

坑3:中文字体显示异常

matplotlib生成的图表中文显示为方块。

解决方法:

importmatplotlib matplotlib.rcParams['font.sans-serif']=['SimHei','Microsoft YaHei']matplotlib.rcParams['axes.unicode_minus']=False

坑4:PPT文件被占用

影刀第二次运行时,上次生成的PPT还开着,保存时报文件被占用的错误。

解决方法:生成时用时间戳命名文件,或者先检查文件是否被打开:

importpsutildefis_file_open(filepath):forprocinpsutil.process_iter(['open_files']):try:forfinproc.open_files():iff.path==filepath:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/502898ee75b54f4fa94f6f358149dbbb.png#pic_center)returnTrueexcept:passreturnFalse

总结

PPT自动生成的关键在模板设计:把固定样式做好,用占位符标记变量位置,影刀负责替换数据和插入图表。一套周报模板做好后,以后每周5分钟自动生成,再也不用手工复制数据了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 12:03:45

Caffe 1.0 深度学习框架:与同名咖啡馆的 3 个关键历史渊源与技术命名趣谈

Caffe 1.0 深度学习框架:与同名咖啡馆的 3 个关键历史渊源与技术命名趣谈 在技术领域,命名往往蕴含着比表面更丰富的故事。当伯克利的研究团队在2013年首次发布Caffe深度学习框架时,很少有人会想到这个名称背后隐藏着一段与咖啡文化交织的学术…

作者头像 李华
网站建设 2026/7/10 11:59:53

Codex本地化智能编码实战:从环境搭建到多Agent系统开发

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在尝试将大语言模型集成到本地开发环境时,发现很多工具要么配置复杂,要么功能单一。直到接触到 Codex&…

作者头像 李华
网站建设 2026/7/10 11:59:40

STM32与LTC1864高精度ADC的SPI接口设计与优化

1. 项目背景与核心需求在工业自动化、医疗设备和消费电子等领域,模拟信号与数字系统的无缝集成一直是硬件设计的关键挑战。传统方案往往需要复杂的信号调理电路和分立元件,不仅增加了BOM成本,还引入了额外的噪声和误差源。这正是LTC1864这款1…

作者头像 李华
网站建设 2026/7/10 11:58:47

TDSQL 与 TDSQL-C 对比:binlog 备份策略的 2 种架构与 3 点核心差异

TDSQL 与 TDSQL-C 的备份架构演进:从 binlog 到 redo log 的技术跃迁1. 数据库备份机制的设计哲学在分布式数据库领域,备份策略从来都不只是技术实现问题,更是产品设计哲学的体现。TDSQL 作为腾讯云自研的分布式数据库产品线,其传…

作者头像 李华
网站建设 2026/7/10 11:57:42

艺学启航:流式管道技术在超大日志处理中的应用

艺学启航:运维与数据分析场景中,数十GB的超大日志文件十分普遍。传统全量加载的读取方式极易引发内存溢出,造成程序卡顿、任务失败,难以适配大体量日志处理需求。基于生成器的流式迭代方案,凭借低资源消耗、高稳定性的…

作者头像 李华