[Python] 使用 MailMerge 批量处理 Excel 和 Word 文档的1个案例


目标

从Excel中读取人员信息,按照Word模板,自动化批量生成复工证明。
类似的重复性工作都可以借鉴本案例

数据模板

模板.zip

引入模块

pip install xlrd
pip install openpyxl
pip install docx-mailmerge

制作 Word 模板

步骤:

《》里的是域名,也就是参数名,前面的与后面的正常文字是不变的

制作 Excel 模板


在员工信息总表提取数据(可先按需求筛选,如筛选外省员工),保证模板内至少包含姓名、身份证号两列

代码

from mailmerge import MailMerge
import pandas as pd

#注意路径,此处我将模板放在python目录下,使用相对路径
data = pd.read_excel('D:/code/模板.xlsx') 
rows = data.shape[0] #获取行数 
for i in range(rows):
    name = data["姓名"][i]
    id = data["身份证号"][i] #以上三行为遍历Excel每行数据并赋值
    # print(name,id)
    template = 'D:/code/模板.docx'
    document = MailMerge(template)
    document.merge(
        name = str(name),
        id = str(id)
    )
    document.write('D:/code/' + str(name)+'复工证明.docx') #以上六行为mailmerge方法

input('操作成功,按回车键退出!')

结果展示

生成 exe 文件

pip install pyinstaller

pyinstaller -F 复工证明批量.py


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM