网友作品 #000120 · 提交于 2026/08/11
Word模板批量生成插件:Excel数据自动填充
★★★★★业余水平办公智能体国内其他模型wordcom

作品简介
WordTemplateMapperAddin 是基于 Word 传统 COM 加载项开发的插件,在功能区新增“模板映射”标签。使用时点开映射窗口:先选择 Word 模板、Excel 数据源、印章图片与存储位置,系统自动读取 Excel 表头并匹配模板中的 {{占位符}},确认字段映射后点击生成,即可逐行替换并输出多份文档,处理日志实时反馈进度,还可导出为 txt 留档。
核心亮点
- 字段自动映射:列出 Excel 表头并自动匹配 Word 模板 {{占位符}},无需手工对应
- 全文档替换:正文与页眉页脚中的占位符一并替换
- 批量输出:按 Excel 首列值命名文件,一键生成多份个性化文档
- 印章插入:映射包含 {{SealPosition}} 时,在占位符位置自动插入印章图片
- 零 Excel 进程依赖:内置 XlsxReader 以 Open XML 直接解析 .xlsx,不启动 Excel、不依赖 Excel COM,从根本上规避 RPC 通道异常
- 日志可追溯:处理进度与结果实时显示,支持清除与导出日志
技术与工具
- 开发技术:C# / .NET Framework 4.6.2,Word 传统 COM 加载项(IDTExtensibility2 + IRibbonExtensibility)
- 界面:独立 WPF 窗口 + HandyControl(Growl 提示)
- 文档操作:Microsoft.Office.Interop.Word(Find/Replace、InlineShapes)
- 数据读取:Open XML 手写解析(System.IO.Compression + System.Xml.Linq),日志用 NLog
- 使用注意:仅支持 .xlsx 数据源,旧版 .xls 需先另存为 .xlsx
适用场景
- 按名单批量产出格式统一、内容随数据行变化的 Word 文档,如通知函、证书、标签类文件
- 模板一次配好、名单反复复用,替代逐份复制粘贴改字的手工操作
原始提交内容(点开查看,可复制全文去问 AI)
根据对话历史,我为这个 Word COM 加载项生成一段 Markdown 介绍:
WordTemplateMapperAddin —— Word 模板数据映射与批量生成工具
简介
WordTemplateMapperAddin 是一个基于 Word 传统 COM 加载项(IDTExtensibility2 + IRibbonExtensibility) 开发的插件,使用 C# / .NET Framework 4.6.2 构建。它通过在 Word 功能区(Ribbon)上添加按钮,提供“模板数据映射与批量生成”和“作者信息”两项功能,帮助用户将 Excel 数据批量填充到 Word 模板,自动生成多份个性化文档。
功能特性
- 模板数据映射窗口(WPF):独立的 WPF 窗口(非 CTP/WebView2 嵌入),上下分区布局:
- 配置区:选择 Word 模板、Excel 数据源、输出目录
- 字段映射区:
DataGrid列出 Excel 表头并可自动匹配 Word 模板中的{{占位符}} - 日志区:彩色
RichTextBox实时显示处理进度与结果
- 批量生成文档:读取 Excel 数据行,逐行替换 Word 模板正文及页眉页脚中的
{{占位符}},按首列值命名并保存到输出目录,一键生成多份文档 - 印章图片插入:当字段映射包含
{{SealPosition}}时,在占位符位置插入印章图片(InlineShapes.AddPicture,遍历所有 StoryRanges) - 零 Excel 进程依赖:内置
XlsxReader通过 Open XML(zip + xml) 直接解析.xlsx,不启动 Excel、不依赖 Excel COM,从根本上规避了 RPC 通道异常 - 作者信息:Ribbon 按钮通过 HandyControl
Growl弹出作者信息
技术栈
| 组件 | 说明 |
|---|---|
| 宿主 | Word 传统 COM 加载项,AnyCPU,Prefer32Bit=false |
| 语言 | C# / .NET Framework 4.6.2(SDK 风格项目) |
| UI | 独立 WPF Window + HandyControl(Growl / 样式) |
| 文档操作 | Microsoft.Office.Interop.Word(Find/Replace、InlineShapes) |
| 数据读取 | Open XML 手写解析(System.IO.Compression + System.Xml.Linq) |
| 日志 | NLog 封装(AddInLog,含 Info/Warn/Error) |
使用流程
- 在 Word 功能区点击 “模板映射工具” 按钮,弹出映射窗口
- 选择 Word 模板(含
{{占位符}})、Excel 数据源(.xlsx)、输出目录 - 系统自动读取 Excel 表头并匹配模板占位符,确认字段映射
- 点击生成,逐行替换并输出多份 Word 文档
注意事项
- 仅支持
.xlsx数据源;旧版.xls需先另存为.xlsx - 部署更新前需关闭正在运行的 Word,否则
dist\files下的 DLL 会被进程锁定 - 目标机需安装 Word(Interop 引用为 Private=false,不随 bin 发布)
需要我把这段介绍写入项目里的 README.md 吗?