Python 办公自动化:Word 与 PowerPoint 处理
在日常的 HR、行政甚至运营等场景里,总少不了重复劳动密集型的文档/PPT产出:
- HR同学可能要给100个新员工发入职Offer
- 行政要制作带公司logo、编号、姓名的季度表彰卡
- 运营要生成N份格式统一但核心数据不同的周报附件
这些活儿不难,但机械校对、替换、排版费时费力还容易出错。其实完全可以用 Python 的“模板+数据映射模式一键搞定,今天就聊聊怎么用两个库快速上手。
核心工具库
在 Python 生态,这两个领域几乎是「标准解决方案」:
- Word 处理:
python-docx(微软.docx专属,旧版.doc需要转成新格式) - PPT 处理:
python-pptx(仅支持.pptx,同理旧版先转换)
先安装起来:
一、Word 自动化:从基础到批量生产
1.1 简单上手:从零写一页演示文档
python-docx 的设计逻辑非常直观,把 .docx 拆解成 Document → Paragraph → Run 三层结构,每一层各司其职:
先写一段生成基础演示页的代码:
1.2 进阶核心:模板批量生成(重点!)
从零写文档只能做通用的演示,**真正能解放双手的是「基于Word模板的替换」。
制作模板的小技巧
先在 Word 里手动做好样式完美的模板,比如入职Offer、离职证明,然后用 双大括号 标记占位符:{employee_name}、{entry_date}、{position}。
⚠️ 踩坑提醒: 不要在 Word 里一次性选中占位符的一部分改颜色加粗!!! 不然生成的 Run 会被拆碎,替换时可能会有部分占位符替换不上。**正确做法是:写占位符时先写纯文本,等替换逻辑调通后,再在模板里给整个占位符统一改样式。
完整的批量替换脚本
二、PPT 自动化:用模板生成+内容页
PPT 的核心逻辑是**母版布局→占位符→填充,先制作或使用预设的布局,比从零写布局更稳定。
2.1 基础:用预设布局写演示PPT
先看一段用 python-pptx 自带布局生成两页PPT的代码:
三、总结与展望
核心要点
- Word:
- 牢记三层结构:Document→Paragraph→Run
- 重点用模板批量生成才是真·摸鱼神器
- 占位符要统一写纯文本,调通再改样式
- PPT:
- 用预设布局(索引0-9对应不同空白/带占位符的母版
- 优先用占位符填充,实在不行用 add_* 系列函数自己加
适用场景
这类脚本属于「一劳永逸小工程」,虽然前期可能需要调1-2小时,但以后每做一次就能顶10-100份文档/PPT,还不用担心格式、错别字问题。
如果需要更复杂的功能(比如Word插入Excel图表、PPT插入带数据的柱状图折线图、邮件自动发),可以继续研究这两个库的官方文档哦~

