返回作品列表

网友作品 #000120 · 提交于 2026/08/11

Word模板批量生成插件:Excel数据自动填充

★★★★★业余水平办公智能体国内其他模型wordcom

作品作者

阿龙ExcelWord办公自动化业余水平
开发工具
办公智能体
AI 模型
国内其他模型
使用 Skill
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)

使用流程

  1. 在 Word 功能区点击 “模板映射工具” 按钮,弹出映射窗口
  2. 选择 Word 模板(含 {{占位符}})、Excel 数据源(.xlsx)、输出目录
  3. 系统自动读取 Excel 表头并匹配模板占位符,确认字段映射
  4. 点击生成,逐行替换并输出多份 Word 文档

注意事项

  • 仅支持 .xlsx 数据源;旧版 .xls 需先另存为 .xlsx
  • 部署更新前需关闭正在运行的 Word,否则 dist\files 下的 DLL 会被进程锁定
  • 目标机需安装 Word(Interop 引用为 Private=false,不随 bin 发布)

需要我把这段介绍写入项目里的 README.md 吗?