C# 处理Word自动生成报告 三、设计模板_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C# 处理Word自动生成报告 三、设计模板

C# 处理Word自动生成报告 三、设计模板

 2017/11/23 23:10:33  FlyLolo  程序员俱乐部  我要评论(0)
  • 摘要:既然是模板就少不了各种标记和配置.这里主要用到了word的书签功能.打开word按ctrl+shift+F5,打开书签功能如下图如果所示,可以选中word中的一个区域然后按ctrl+shift+F5,对此部分添加一个书签是否理解为这样是为这部分区域添加了指针?根据图中的操作就可以明白了,可以在对某些文字进行标识,然后根据这个标识找到这部分进行操作.第一篇文章小罗说了本次主要完成的内容,下面说一下实现方式,为了标识到各个书签的类型及一些关键配置,所以将书签的名字命名格式做了约定
  • 标签:模板 C# 设计

既然是模板就少不了各种标记和配置. 这里主要用到了word的书签功能.

打开word按ctrl+shift+F5, 打开书签功能

如下图

 

如果所示, 可以选中word中的一个区域然后按ctrl+shift+F5, 对此部分添加一个书签

是否理解为这样是为这部分区域添加了指针? 根据图中的操作就可以明白了, 可以在对某些文字进行标识, 然后根据这个标识找到这部分进行操作.

第一篇文章小罗说了本次主要完成的内容, 下面说一下实现方式, 为了标识到各个书签的类型及一些关键配置,所以将书签的名字命名格式做了约定.

例如只是为了更新文字用的. 格式为 label_级别_名称

这里的loop是为了循环用, 这是报告中经常会 遇到的, 通过本例的目录就可以看出来

模板:

实际结果

这里的学期, 学生名字都是不固定的, 所以这里就定义了一下文档级别

文档最基本的为0级, 学期的循环为1级, 学期内姓名的循环为2级,依次类推.

因为存在循环,数据集也就会要求根据循环条件进行filter

所以loop的标签格式为 loop_级别_取Dataset中的第几张表(从1开始)_filter字段多个用XX隔开(此处不允许有下划线外其他特殊字符, 就用这个XX吧 )_loop名称

 

1. 更新指定位置的文字.  --  即如上图所示, 找到标签部分替换为数据源中的文字.

2. 支持表格.  -- 此部分原本想对表格添加书签,后来发现有个表格属性, 觉得写在这里更好一些

标题的格式同loop

说明项可选, 若需要合计行, 则需要标识, summary或缩写s: [合计]行是模板中表格的第几行   summaryfilter或缩写sf:数据集进一步filter到summary行的条件(因为一个表格只取一个Datatable,通过一个标识指定了哪些datarow是用来作为合计的)

3. 支持图表.

配置在图表标题,格式为:chart_级别_取Dataset中的第几张表(从1开始)_filter字段多个用XX隔开(此处不允许有下划线外其他特殊字符, 就用这个XX吧 )_chart名称_是否将Datatable的columnName作为第一行_从datatable第几列开始(列起始为1)_截止列

4. 支持区域内容循环生成. --  配置方式上文已说明, 程序会根据级别通过递归的方式处理.

5. 支持目录.   -- 无需标识, 模板中添加目录, 当内容处理完成之后, 动态更新目录即可.

发表评论
用户名: 匿名