快捷搜索:  汽车  科技

批量制作好多份合同(办公自动化1批量生成聘用合同)

批量制作好多份合同(办公自动化1批量生成聘用合同)打开任一文件可以看到信息已经被替换from docx import Document from openpyxl import load_workbook # 定义关键信息替换函数 def info_replace(doc old_info new_info): for para in doc.paragraphs: para.text = para.text.replace(old_info new_info) # 读取word模板 doc = Document('/Users/baobao/Desktop/写作/人事聘用合同模板.docx') # 读取excel中的详细信息 wb = load_workbook('/Users/baobao/Desktop/写作/聘用人信息.xlsx') ws = wb.

日常工作中常常有这样一种场景,需要批量制作一些主要内容相同,只是部分数据有变化的word文档,比如HR的聘用合同,采购部的采购合同。

批量制作好多份合同(办公自动化1批量生成聘用合同)(1)

批量制作好多份合同(办公自动化1批量生成聘用合同)(2)

如上图所示,文档中【】中的信息需要根据不同的聘用人或者采购方去做相应的修改,具体的修改信息放在Excel中

批量制作好多份合同(办公自动化1批量生成聘用合同)(3)

接下来,就用python操作word和excel批量生成聘用合同,需要的文档主要有两个,一个是word模板,一个是用来存储替换信息的excel。

模块介绍

实现该功能主要用到两个模块:python-docx和openpyxl,前者用来操作word后者用来操作Excel

读取word信息并打印出来

批量制作好多份合同(办公自动化1批量生成聘用合同)(4)

批量生成word的完整代码

from docx import Document from openpyxl import load_workbook # 定义关键信息替换函数 def info_replace(doc old_info new_info): for para in doc.paragraphs: para.text = para.text.replace(old_info new_info) # 读取word模板 doc = Document('/Users/baobao/Desktop/写作/人事聘用合同模板.docx') # 读取excel中的详细信息 wb = load_workbook('/Users/baobao/Desktop/写作/聘用人信息.xlsx') ws = wb.active # 利用Excel中的信息替换word模板中的信息,并保持修改后的word文档 for row in range(2 ws.max_row 1): doc = Document('/Users/baobao/Desktop/写作/人事聘用合同模板.docx') for col in range(1 ws.max_column 1): old_info = str(ws.cell(row=1 column=col).value) new_info = str(ws.cell(row=row column=col).value) info_replace(doc old_info new_info) doc_name = str(ws.cell(row=row column=2).value) doc.save(f'/Users/baobao/Desktop/写作/结果集/{doc_name}聘用合同.docx')

结果

批量制作好多份合同(办公自动化1批量生成聘用合同)(5)

打开任一文件可以看到信息已经被替换

批量制作好多份合同(办公自动化1批量生成聘用合同)(6)

当你有成千上万个文档需要生成时,需要修改的地方只有三个文件路径即可,甚至你可以利用我之前的文章中【如何把Python变成撩妹神器】介绍的内容,将此python代码打包成.exe文件,就像运行软件一样实现word文档的批量生成。

猜您喜欢: