将excel文件中的信息读取后批量生成word文件

在日常办公过程中,可能需要把excel文件中的信息批量生成成百上千份word文档,便于打印、发邮件或存档等,比如根据excel中的合格人员招聘信息生成word合同文件,或是根据excel中的参会人员名单生成word参会通知等。

首先需要制作word模板,并在需要信息替换的位置设置域,选择MergeField,并配置域名。如本例设置了deptname和position两个域,需要从excel表格中读取后替换部门和职务的内容。还有年、月、日三个固定值的在程序里面直接写好后,填充在word中的year,month,day域。代码如下:

python 复制代码
import pandas as pd
from mailmerge import MailMerge
folder_path='.\\word\\' #文件夹相对路径
df=pd.read_excel(folder_path+'名单.xlsx') #通过read_excel方法读取excel数据存储到dataframe中
arr=df.to_numpy()   #将dataframe转换成二维数组
template=folder_path+'通知.docx' #word模版文件的位置
doc=MailMerge(template)
def merge(name,pos):
    doc.merge(deptname=name,
          position=pos,
          year='2024',
          month='11',
          day='27')
    doc.write(folder_path+f'{name}通知.docx')
for i in range(len(arr)):   #逐行遍历数组
    merge(arr[i][0],arr[i][1])
相关推荐
fengyehongWorld15 小时前
VBA 操作PowerQuery表格和带名字的表格
excel·vba
tangyal15 小时前
Linux 核心操作合集(网络配置、XShell远程连接、vim文本编辑与操作、权限管理 实操手册)
excel
softbangong1 天前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理
城数派1 天前
2000-2024年1km精度人口分布栅格数据(全球/全国/分省/分市)
arcgis·信息可视化·数据分析·excel
城数派1 天前
1984-2024年中国10米分辨率城市土地利用栅格数据(商业、公服、居住等9类)
arcgis·信息可视化·数据分析·excel
城数派1 天前
2015-2024年我国1km分辨率逐日地表温度(LST)栅格数据
数据库·arcgis·信息可视化·数据分析·excel
城数派1 天前
中国全国土壤有机碳密度数据集(2010-2024年)
数据库·arcgis·信息可视化·数据分析·excel
Python大数据分析@2 天前
Pandas相比Excel的优势是哪些?
excel·pandas
逐渐会飞2 天前
如何用python在word插入复选框
python·word
fengyehongWorld2 天前
Excel 添加自定义选项卡
excel