将 Excel 数据表行按指定的 Word 模板批量生成 Word 文档并合并,方便打印。
https://www.cnblogs.com/zhenzaizai/p/7782748.html
https://www.cnblogs.com/gaodaoheng/articles/10431853.html
直接通过 NuGet 安装即可。
word文档合并使用的是微软Microsoft.Office.Interop.Word,这个组件NuGet上只能在装有Office 2013的版本的电脑上运行,PASS掉。
因此,我们采用手动导入Microsoft.Office.Interop.Word.dll的方式。
需要注意的是,在COM组件添加 Microsoft Office [版本号].0 Object Library 这种方式好像也有问题。 我电脑上装的是 MS Office 2016,在COM组件看到的是 Microsoft Office 12.0 Object Library 和 Microsoft Office 12.0 Object Library,无论导入那个,运行程序都会报找不到 office 15 异常。
最终用的直接浏览定位到系统盘引用下面两个程序集解决。 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\office.dll
如果机器上没有安装MS Office 2007+ 的版本,直接在安装有MS Office 2007+的电脑上把这两个dll拷贝到过来应该也可以用(我在没有安装MS Office的电脑(装有WPS)上运行本项目发布的可执行文件是可以运行的)。
空值单元格(单元格本身为空或值为空)和空白单元格(单元格有空白或空格字符)在 Excel 内无法直观区分出来,如果遇到读取到的数据长度和表头长度不一致的错误,请在Excle表格中执行以下操作。
按 Ctrl + G 快捷键打开定位窗口,点击 定位条件 按钮,选择 “空值”,确定。 系统会选中全部值为空的单元格,这时直接在键盘上敲入几个空格键,并按 Ctrl + Enter 即可。 提示“未找到单元格”表示当前工作簿中没有空值单元格。
实例:xlsx 表格中表头有,姓名、年龄、性别,那么可以在模板内使用“{姓名}”、“{年龄}”,“{性别}”作为占位符。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。