发一批员工合同,一个一个改姓名、改部门、改日期、改职位……改一份要2分钟,100份要200分钟。三个多小时,全在干复制粘贴的活。
更崩溃的是——改到第87份的时候,日期填错了。全部重来。
做HR的、做行政的、做管理的,谁没经历过这种绝望?每次发一批文件,半天就搭进去了。
我写了25行代码,做了一个事:Excel里放数据,Word里做模板,一键批量生成个性化文档。
原来:手动改合同 → 改100份 → 三小时 → 还容易出错现在:Excel整理好数据 → 运行脚本 → 几秒钟搞定 → 100%正确
效果预览
数据表格:
Word模板(含变量占位符):
text
{{标题}}姓名:{{姓名}}部门:{{部门}}职位:{{职位}}入职日期:{{入职日期}}生成结果:核心代码(精简版)
from docx import Documentimport pandas as pd# 读取数据df = pd.read_excel("员工数据.xlsx")# 加载模板doc = Document("模板.docx")for idx, row in df.iterrows():# 替换占位符for para in doc.paragraphs:if '{{姓名}}' in para.text:para.text = para.text.replace('{{姓名}}', row['姓名'])if '{{部门}}' in para.text:para.text = para.text.replace('{{部门}}', row['部门'])doc.save(f"{row['姓名']}.docx")
怎么用
pip install pandas openpyxl python-docx先创建模板,把
{{变量名}}作为占位符准备Excel数据(列名与模板变量对应)
复制完整代码保存为
.py运行,选择数据文件和模板文件
查看「生成文档」文件夹
python-docx 是Python中专门用于操作Word文档的核心库,支持创建、编辑、格式控制等完整功能。
应用场景
无论哪种场景,原理都一样:数据+模板=批量文档。Excel存数据,Word做模板,代码负责填充。
夜雨聆风