将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])
相关推荐
IT小农工3 小时前
Windows 文件资源管理器无法预览文件内容word、ppt、excel、pdf
windows·word·powerpoint
BillKu3 小时前
在 Delphi 5 中获取 Word 文档页数的方法
word·delphi
Access开发易登软件3 小时前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
課代表4 小时前
VBA 中的 Excel 工作表函数
excel·vba·函数·对象·属性·range·静态变量
IssacNew7 小时前
【原创软件】第14期:FastWordReplace-Word文字批量替换工具V1.1
word·文字替换·批量替换
UrbanJazzerati8 小时前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
XiaoMu_0019 小时前
【Markdown转Word完整教程】从原理到实现
word·markdown
m0_5557629011 小时前
Excel ——INDEX + MATCH 组合
excel
焚 城12 小时前
Excel数据导出小记二: [大数据示例]
大数据·excel
偷心伊普西隆13 小时前
Python EXCEL 小技巧:最快重新排列dataframe函数
python·excel