大神论坛

找回密码
快速注册
查看: 237 | 回复: 1

[Windows] excel批量生成word文件原创工具 附主要源码

主题

帖子

0

积分

初入江湖

UID
640
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:39
发表于 2023-11-18 10:27
本帖最后由 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文件完成!')



下方隐藏内容为本帖所有文件或源码下载链接:

游客你好,如果您要查看本帖隐藏链接需要登录才能查看, 请先登录

主题

帖子

120

积分

初入江湖

UID
154
积分
120
精华
威望
240 点
违规
大神币
63 枚
注册时间
2021-08-04 15:27
发表于 2023-11-18 13:58:14.0

分享几个高达3D模型

返回顶部