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

时间:2022-10-01 10:03:38

C# 处理Word自动生成报告 一、概述

C# 处理Word自动生成报告 二、数据源例子

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

C# 处理Word自动生成报告 四、程序处理

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

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

如下图

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

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

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

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

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

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

模板:

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

实际结果

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

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

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

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

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

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

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

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

标题的格式同loop

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

3. 支持图表.

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

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

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

C# 处理Word自动生成报告 三、设计模板的更多相关文章

  1. C# 处理Word自动生成报告 四、程序处理

    C# 处理Word自动生成报告 一.概述 C# 处理Word自动生成报告 二.数据源例子 C# 处理Word自动生成报告 三.设计模板 C# 处理Word自动生成报告 四.程序处理 现在说一下程序处理 ...

  2. C# 处理Word自动生成报告 一、概述

    经常遇到这样的需求, 生成Word格式的报告, 而不是单纯的一张表格的报表.  就像体检报告一样. 数据来源部分决定采用一个存储过程返回Dataset的方式, 整张报告的数据来源于此Dataset的多 ...

  3. C# 处理Word自动生成报告 二、数据源例子

    还是以学生.语文.数学.分数为例吧, 感觉这个和helloworld都有一拼了. 造一张表如下, 整张报表就围绕这个表转圈了, 顺便说下就是名字如有雷同纯属巧合 新建个存储过程 ALTER PROCE ...

  4. Word自动生成目录

    博主最近在写报告的时候要在Word里面做个目录,再做个页码,然后上网搜了一些方法,非常零散,我弄了好久才弄好.在这里我把整套方法分享一下. 声明:内容完全独创! 工具:Word 2016. 效果:如下 ...

  5. jmeter自动生成报告

    从JMeter 3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告. 如何生成html测试报告 如果未生成结果文件(.jtl),可运行如下命令生成报告: jmete ...

  6. 利用html实现类似于word自动生成的目录的效果

    在word中的自动生成目录当中,我们会看到是这样的目录结构: 嗯,自动生成固然是简单,但是在html当中,却没有一个合适的标签来去做.今天后台导出PDF的时候告诉我,他需要用html做一个这样的结构, ...

  7. codesmith 自动生成C# model 实体模板

    <%-- Name:自动生成 Author: 陈胜威 Description: 直接生成model类 --%> <%@ Template Language="C#&quot ...

  8. 使用LaTeX和KnitR自动生成报告

    扩展名为.Rnw(Rtex)的文件就是包含了R代码的LaTeX文档.编译的时候,先用Rscript调用Knitr处理,生成.TeX文档,然后用pdfLaTeX/XeLaTeX编译成PDF. 最方便的编 ...

  9. word自动生成章节标题

    一级目录 二级目录 三级标题

随机推荐

  1. localStorage使用总结

    一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题 ...

  2. oracle 回收站管理

    oracle10g,在pl/sql中选中删除后会出现类似:BIN$nJ5JuP9cQmqPaArFei384g==$0的表. 1.查看回收站 select * from user_recyclebin ...

  3. ACM——3n&plus;1

    3n+1 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:937            测试通过:386 描述 对于任意大于1的自然 ...

  4. &lbrack;Javascript&rsqb; Immutable opreators

    slice filter map ...spread concat Object.assign let items = [1,2,3]; //add let newItems = [...items, ...

  5. nyoj 32 组合数【简单dfs】

    组合数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合 ...

  6. eclipse中JSP开发环境的配置

    1. Java环境 自行百度配置   2. Web Server环境安装: Web Server选择流行的Apache Tomcat .到http://tomcat.apache.org/  处下载, ...

  7. HTML5 CSS3专题 纯CSS打造相冊效果

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30993277 今天偶然发现电脑里面还有这种一个样例.感觉效果还不错,不记得啥时候 ...

  8. Phpstrom操作Git从服务器端克隆代码到本地

    1.第一步点开Git 2.添加项目的路径 第一个框是你所在的项目路径,后缀名是.git,这里我用的是HTTPS的方式(还有一种是SSH) 第二是你要克隆到所在目录,我的是在Apache下面的htdoc ...

  9. 正确的git开发流程

    正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...

  10. verdi&bsol;debussy的使用技巧

    verdi\debussy的使用技巧 转载from 大西瓜FPGA 大西瓜FPGA-->https://daxiguafpga.taobao.com fsdb display Debussy本身 ...