本帖最后由 chains 于 2023-11-16 17:40 编辑
工具是使用pyhon写的,并且打包成exe,
操作流程:制作模板文件,工具选择模板文件,选择数据文件,选择导出目录即可。
具体要求模板文件
1、只支持docx格式的文件
2、制作模板只需要将表格中表头用两个大括号括{{}}起来(占位字段)
数据文件
1、只支持导入xlsx格式的文件
2、只支持单行表头(多级表头,合并后的表头,生成识别会存在问题)
3、列表表头要与模板中的占位字段一致(不包含大括号)
4、如果模板中存在,列表中没有,则导出后为空
5、表头列必须存在【生成文件名称】列,作为这一条数据生成world文件后的文件名
主要代码:
[Python] 纯文本查看 复制代码
def generate_word_from_template(template_file, excel_data):
# 加载Excel文件
df = pd.read_excel(excel_data)
# 获取Excel表头,并转换为列表
header = df.columns.tolist()
# 确定"名称"字段在表头中的索引
name_index = header.index("生成文件名称")
# 加载Word文档模板
template = DocxTemplate(template_file)
# 迭代Excel数据
for _, row in df.iterrows():
# 读取Excel行的数据
data = row.tolist()
# 提取"名称"字段的值
name_value = data[name_index]
# 构建上下文数据字典
context = dict(zip(header, data))
# 使用上下文数据渲染模板
template.render(context)
# 保存新生成的Word文档
output_filename = f'{name_value}.docx'
template.save(output_filename)
print('生成Word文件完成!')
下载链接:https://cowtransfer.com/s/1f16181ed2774d 点击链接查看 [ 工具分享.rar ] ,或访问奶牛快传 cowtransfer.com 输入传输口令 5wlm2f 查看;
|