办公室中的Python课 P14 【文档大师】Word 自动化:让合同与报告自动生成
2026/6/29 22:14:49 网站建设 项目流程

💻 P14 【文档大师】Word 自动化:让合同与报告自动生成

🎯 学习目标:

  • 环境准备:安装处理 Word 的核心库python-docx
  • 核心概念:理解 Word 的三层结构:文档 (Document) -> 段落 (Paragraph) -> 文字块 (Run)。
  • 自动化生成:学会创建、修改文字、插入表格。
  • AI 协作:利用通义灵码实现“Excel 数据自动填入 Word 模板”。

🌟 引导词

“想象一下,老板给你一个 Excel 表格,里面有 50 个员工的信息,让你生成 50 份格式完全一样的个人合同。
如果你手动复制粘贴,不仅要花一上午,还可能把张三的工资填到李四头上。
这一课,我们要学习如何编写一个‘复印机’程序:它能读取你的指令,自动打开 Word 模板,精准地在指定位置填入文字,并把每一份文档按姓名保存好。你只需要喝杯咖啡,等待程序运行结束。**


一、准备工作:安装“文档笔”

处理 Word 文档最主流的库是python-docx

手把手 AI 实战(Agent 模式):

  1. 在通义灵码对话框输入:/agent
  2. 输入指令:请帮我检查并安装 python-docx 库。
  3. 点击【运行/Run】

二、核心逻辑:剥开 Word 的洋葱

Word 在 Python 眼里不是一整篇文字,而是像洋葱一样分层的:

  1. Document:整个文档。
  2. Paragraph:段落(你每按一次回车就是一个段落)。
  3. 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 导出的综合脚本。

🛠️ 课后练习

  1. 新建P14_word.py
  2. 自己创建一个简单的 Word 模板,写上亲爱的{{user}}:祝你生日快乐!
  3. 编写 Python 脚本,通过输入你的名字,自动生成一份专属的生日贺卡文档。

总结与预告

  • python-docx:处理 Word 的核心工具。
  • Paragraph vs Run:掌握了这个,你就能精准控制每一行、每一个字的格式。
  • 自动化套表:是告别加班的必杀技。

[下一篇 (P15),我们将学习办公自动化的最后一环:PPT 自动化 (Python-pptx)。你将学会如何让 Python 自动把 Excel 里的图表和数据塞进幻灯片里,瞬间完成每月的复盘汇报 PPT!**

👉 想要让 PPT 自己“画”出来吗?让我们进入演示文稿的世界!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询