news 2026/9/2 23:45:05

办公室中的Python课 P14 【文档大师】Word 自动化:让合同与报告自动生成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
办公室中的Python课 P14 【文档大师】Word 自动化:让合同与报告自动生成

💻 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 自己“画”出来吗?让我们进入演示文稿的世界!

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

深度强化学习环境集成与自定义开发指南

深度强化学习环境集成与自定义开发指南 【免费下载链接】Deep-Reinforcement-Learning-Algorithms-with-PyTorch PyTorch implementations of deep reinforcement learning algorithms and environments 项目地址: https://gitcode.com/gh_mirrors/de/Deep-Reinforcement-Lea…

作者头像 李华
网站建设 2026/9/2 21:46:58

Git Commit频繁提交代码?PyTorch-CUDA-v2.7支持版本控制一体化

Git Commit频繁提交代码?PyTorch-CUDA-v2.7支持版本控制一体化 在AI研发一线的工程师和研究人员都有过这样的经历:本地调试通过的模型,一上服务器就报错——不是CUDA版本不兼容,就是PyTorch依赖冲突。更糟的是,三个月…

作者头像 李华
网站建设 2026/9/2 21:46:52

AudioGridder:音频工作站的终极网络扩展方案

AudioGridder:音频工作站的终极网络扩展方案 【免费下载链接】audiogridder DSP servers using general purpose computers and networks 项目地址: https://gitcode.com/gh_mirrors/au/audiogridder 您是否曾经因为DAW中插件过多而导致CPU不堪重负&#xff…

作者头像 李华
网站建设 2026/9/2 21:30:18

如何快速搭建专业PPT:北京理工大学学术答辩模板的终极指南

在当今学术环境中,一个专业、规范的PPT模板对于成功完成学术答辩至关重要。北京理工大学学术答辩PPT模板作为官方正式版资源,专为学术答辩、课题汇报等场合设计,能够帮助您在短时间内构建出结构清晰、内容丰富的演示文稿。 【免费下载链接】北…

作者头像 李华
网站建设 2026/9/2 21:46:50

基于YOLOv12的小麦叶片病害识别检测系统(YOLOv12深度学习+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 小麦叶片病害严重影响作物产量与品质,快速准确的病害识别对农业生产至关重要。本文基于YOLOv12深度学习算法,构建了一种高效的小麦叶片病害智能检测系统。该系统可识别5类病害(健康叶片、白粉病、Septoria叶枯病、秆锈病、黄锈病…

作者头像 李华