本帖最后由 sharkman001 于 2023-11-18 10:27 编辑
工具是使用pyhon写的,并且打包成exe, 操作流程:制作模板文件,工具选择模板文件,选择数据文件,选择导出目录即可。
具体要求模板文件 1、只支持docx格式的文件 2、制作模板只需要将表格中表头用两个大括号括{{}}起来(占位字段)
数据文件 1、只支持导入xlsx格式的文件 2、只支持单行表头(多级表头,合并后的表头,生成识别会存在问题) 3、列表表头要与模板中的占位字段一致(不包含大括号) 4、如果模板中存在,列表中没有,则导出后为空 5、表头列必须存在【生成文件名称】列,作为这一条数据生成world文件后的文件名
主要代码: 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文件完成!')

下方隐藏内容为本帖所有文件或源码下载链接:
游客你好,如果您要查看本帖隐藏链接需要登录才能查看,
请先登录
|