💻 P14 【文档大师】Word 自动化:让合同与报告自动生成
🎯 学习目标:
- 环境准备:安装处理 Word 的核心库
python-docx。 - 核心概念:理解 Word 的三层结构:文档 (Document) -> 段落 (Paragraph) -> 文字块 (Run)。
- 自动化生成:学会创建、修改文字、插入表格。
- AI 协作:利用通义灵码实现“Excel 数据自动填入 Word 模板”。
🌟 引导词
“想象一下,老板给你一个 Excel 表格,里面有 50 个员工的信息,让你生成 50 份格式完全一样的个人合同。
如果你手动复制粘贴,不仅要花一上午,还可能把张三的工资填到李四头上。
这一课,我们要学习如何编写一个‘复印机’程序:它能读取你的指令,自动打开 Word 模板,精准地在指定位置填入文字,并把每一份文档按姓名保存好。你只需要喝杯咖啡,等待程序运行结束。**
一、准备工作:安装“文档笔”
处理 Word 文档最主流的库是python-docx。
手把手 AI 实战(Agent 模式):
- 在通义灵码对话框输入:
/agent。 - 输入指令:
请帮我检查并安装 python-docx 库。 - 点击【运行/Run】。
二、核心逻辑:剥开 Word 的洋葱
Word 在 Python 眼里不是一整篇文字,而是像洋葱一样分层的:
- Document:整个文档。
- Paragraph:段落(你每按一次回车就是一个段落)。
- Run:文字块(同一个段落里,加粗的、红色的、倾斜的文字分别属于不同的 Run)。
fromdocximportDocument# 1. 创建一个新文档doc=Document()# 2. 添加标题doc.add_heading('入职通知书',0)# 3. 添加段落p=doc.add_paragraph('亲爱的 ')# 在段落后面追加加粗的文字(这是一个新的 Run)p.add_run('张三').bold=Truep.add_run(' 同学,欢迎加入公司!')# 4. 保存文档doc.save('通知书.docx')三、实战:批量替换模板内容
这是办公室最实用的技巧。先准备一个 Word,在要填空的地方写上特殊的占位符(如{{name}})。
deffill_template(name,position):doc=Document('模板.docx')forpindoc.paragraphs:if'{{name}}'inp.text:# 替换文字逻辑p.text=p.text.replace('{{name}}',name)if'{{position}}'inp.text:p.text=p.text.replace('{{position}}',position)doc.save(f'合同_{name}.docx')# 调用函数fill_template('李四','产品经理')四、手把手 AI 实战:从 Excel 到 Word
这是办公自动化的“黄金组合”。
1. Ask 模式:生成联动代码
- 操作:在对话框输入指令:
请帮我写一段 Python 代码:1. 用 pandas 读取 '员工.xlsx';2. 循环每一行,提取 '姓名' 和 '奖金';3. 使用 python-docx 打开 '奖金通知.docx',把里面的 {{name}} 和 {{money}} 替换掉;4. 以员工姓名命名保存。
- AI 价值:它会帮你把 P12 (Pandas) 和 P14 (Word) 的知识点完美串联起来。
2. Edit 模式:精细化调整格式
- 操作:选中一段
add_paragraph的代码。 - 动作:右键 ->通义灵码->智能编辑。
- 指令:
帮我修改这段代码,把这个段落的字体设置为“微软雅黑”,字号设置为 12 磅。 - 效果:AI 会引入
docx.shared中的Pt(磅) 和RGBColor等对象。
3. Agent 模式:批量文件提取
- 操作:输入
/agent。 - 指令:
当前文件夹下有 20 个 Word 文档,请帮我写个脚本,把每个文档的第一段话都提取出来,汇总到一个 Excel 表里。 - 效果:AI 会自主编写一个遍历文件夹、读取 Word 并用 Pandas 导出的综合脚本。
🛠️ 课后练习
- 新建
P14_word.py。 - 自己创建一个简单的 Word 模板,写上
亲爱的{{user}}:祝你生日快乐!。 - 编写 Python 脚本,通过输入你的名字,自动生成一份专属的生日贺卡文档。
总结与预告
- python-docx:处理 Word 的核心工具。
- Paragraph vs Run:掌握了这个,你就能精准控制每一行、每一个字的格式。
- 自动化套表:是告别加班的必杀技。
[下一篇 (P15),我们将学习办公自动化的最后一环:PPT 自动化 (Python-pptx)。你将学会如何让 Python 自动把 Excel 里的图表和数据塞进幻灯片里,瞬间完成每月的复盘汇报 PPT!**
👉 想要让 PPT 自己“画”出来吗?让我们进入演示文稿的世界!