news 2026/6/25 20:06:15

办公室中的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/6/24 19:49:42

Arjun终极指南:快速发现隐藏HTTP参数的完整方法

Arjun是一款专为Web应用安全测试设计的HTTP参数发现工具,能够在极短时间内扫描超过25,000个参数名称,仅需发送少量请求即可完成全面检测。这款开源工具通过智能算法帮助安全研究人员和开发者高效发现Web应用中的隐藏参数。🚀 【免费下载链接】…

作者头像 李华
网站建设 2026/6/18 16:28:34

分布式连接池优化策略全解析:从性能瓶颈到稳定性突破

分布式连接池优化策略全解析:从性能瓶颈到稳定性突破 【免费下载链接】dubbox 项目地址: https://gitcode.com/gh_mirrors/du/dubbox 在当今微服务架构盛行的时代,分布式系统的连接池管理已成为影响整体性能的关键因素。随着服务数量的增加和调用…

作者头像 李华
网站建设 2026/6/20 15:19:06

GLPI:企业级IT资产与服务管理平台深度解析

GLPI:企业级IT资产与服务管理平台深度解析 【免费下载链接】glpi glpi-project/glpi: 是一个用于管理 IT 资产和服务的 PHP 应用程序。适合用于 IT 资产管理和服务管理。特点是提供了简单的 API,支持多种 IT 资产和服务管理功能,并且可以自定…

作者头像 李华
网站建设 2026/6/20 11:27:09

RPM打包宏定义配置完全指南

目录 RPM宏定义概述三种配置方法详解常用宏定义说明实战操作示例宏定义调试技巧最佳实践建议 概述 RPM宏定义是RPM打包系统中的变量替换机制,允许用户在构建过程中使用预定义或自定义的变量,使spec文件更具灵活性和可移植性。宏可以定义构建路径、体系…

作者头像 李华
网站建设 2026/6/23 20:00:47

RTX 4090跑不动PyTorch?检查是否正确使用了CUDA-v2.7镜像

RTX 4090跑不动PyTorch?检查是否正确使用了CUDA-v2.7镜像 在人工智能研发一线摸爬滚打的工程师们,可能都遇到过这种“憋屈”场景:刚花大价钱配了一台顶配工作站,RTX 4090 显卡闪闪发亮,显存高达24GB,理论算…

作者头像 李华