Python将Excel数据自动填写到Word
需求
- 需求:批量制作档案表,要从excel表格中将每个人的数据导入到docx档案中,重复量很大,因此可以使用python高效解决。
- 渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{ { }}插值表达式把数据插入进去。也可以使用{% %}循环,条件语法等。
- 模板
合同docx模板(在需要插值的位置填充 {
{}} 表达式)
人员数据xlsx模板
实现
代码如下
from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os
def replace(obj):
if obj is None:
obj = ''
return obj
# 加载要填入的数据
wb = load_workbook(r"C:\Users\MSI2\data(1).xlsx")
ws = wb