将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])
相关推荐
DS随心转小程序9 小时前
ChatGPT和Gemini公式
人工智能·chatgpt·aigc·word·豆包·deepseek·ds随心转
岁月@可回首10 小时前
两个excel中寻找相同关键词下的内容,将一个需要的内容复制到另一个excel
excel
云纳星辰怀自在10 小时前
基于VBA调用API在Excel中自动生成音标和翻译
excel·单词自动生成音标·excel自动翻译
daols8814 小时前
vue2 表格如何使用 vxe-table 带列头复制单元格内容同步到 excel 中
vue.js·excel·vxe-table
mudtools15 小时前
C#中基于Word COM组件的数学公式排版实践
开发语言·c#·word
JSON_L17 小时前
Fastadmin Excel 导入实现
php·excel·fastadmin
gc_229917 小时前
学习C#调用OpenXml操作word文档的基本用法(18:学习文档页眉类)
c#·word·openxml·页眉·headerpart
E_ICEBLUE1 天前
Excel vs CSV:在系统数据处理中该如何选择?
java·excel·csv·格式转换
meng半颗糖1 天前
vue3+tpescript 点击按钮跳转新页面直接通过链接预览word
前端·vue.js·word
weixin_318088112 天前
Power query代替PowerBI加载数据到excel
excel·powerbi·power query