由于项目需求,需要根据现有的word模板,进行批量生成word报表,为了方便,选用的是 NPOI (NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目)来实现。本次用的版本是NPOI 2.3.0.0,版本不同写法会有差别。
思路
NPOI提供操作word文档的方法也比较简单。
替换模板中关键字的实现思路大致是:
获取具有关键字的模板word文档(关键字可以自己定义,需要具有唯一性和可读性);
获取文档中的所有段落Paragraphs(表格中的单元格内容也属于段落);
遍历段落,找到关键字并进行替换(表格需要先遍历单元格,再遍历单元格中的段落);
生成新的文档;
模板实例
本次实例是用VS控制台程序进行测试,需要在项目路径下新建文件夹来存放模板文件和结果文件。
模板文件的存放位置为:…\bin\Debug\Templates,
生成的文件存放位置为:…\bin\Debug\GoalFiles。
实例模板中的关键字有四个:
关键字 说明
{$project} 项目名称
{$Name} 负责人名字
{$Date} 日期
{$Dep} 部门
1