欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~​

Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的勘探记录表,记录报告,检测报告等,如房地产业的制式合同,不仅包含大量的文字描述,还会嵌入图片,表格等一些数据控件。

我们通常选择使用 Word 来创建这些文档,因为它有着极强的图文混排的能力能够实现集图表,表格,图片等组成的一个混合布局的复杂报表。但使用Word越是创建这些复杂的结构,越需要耗费过多的时间来“画”出这些复杂的样式, 且所有的数据都需要手动输入,无法与业务数据连接,所以更新也会更加困难。

在现代 BI 系统中绝不容忍如此低效,且非实时性的数据分析,因此我们必须寻求与时俱进的现代化数据分析工具,以助于高效的创建数据分析汇总的报表项。葡萄城报表可以很好的解决类Word文档类的报表创建,可快速创建复杂的图文混排样式,而且能够实时的进行数据更新。

(一)类Word文档类报表特点

1.1 大量原始数据展示

这些数据往往存储在业务数据库中,但使用Word创建,将所需要看到的数据,手动输入对应的单元格当中,或是由多人维护更新,这样无法导致数据同步更新,而且容易出错。

1.2 图文混排

多个表格、图片、富文本、图表等组成一个混合布局的复杂报表,这些制式文档通常都包含既定的行业规范,所以对于排版要求非常严苛,因此需要按照既定的规范,来‘画’出复杂的样式,这样创建文档的难度又提高,也是十分低效的做法。

1.3 多页结构

特殊的首页和尾页要求,Word文档类报表较大的时候都有多页的结构,而且对于这些页都有不同的要求和规格。如:

  • 封皮:单面数据,常包含报告的基本信息,如报表名称,报告编号,单位名称,Logo 信息,条码信息等

  • 详细数据:多页详细数据,主要由不同结构的数据组成,常包含,页眉\页脚信息,详细数据区域。不同页对应的数据结构不一致。传统Word表格样式,详细数据部分,内容格式都不固定,没有规律,行列数量不固定,行高列宽不固定。内容项目为非固定格式,根据实际数据,动态选择内容呈现格式,多种布局并存。

  • 结尾声明:文档类的尾部一般包含文档声明、总结等信息,常以大量文本输出为主,不同内容格式也是大有不同,葡萄城报表支持在同一页报表中,显示多种格式的文本内容。

  • 首页和尾页的页眉页脚可单独控制:Word文档,在首页和尾页中不需要添加页眉,也不需要显示页号,只需要在内容页显示页眉。

  • 动态加载图片和调整图片数量

  • 传统的Word表格样式,左边标题,右边内容项

  • 动态生成详细数据

 

1.4 新型数据展示控件

现有的各行业报表为了更加信息化,现代化,因此会在报表中添加一些新型数据控件,如物流业常用的条码,插入特殊格式的文本等,所以在类Word文档类报表中通常存在一些特殊的字符或控件的输入和展示。

葡萄城报表提供了Barcode控件,该控件支持37中条码格式,其中包括:QRCode(二维码)、Code39码、Codabar码、Code25码、ITF25码、Matrix25码、UPC-A码、UPC-E码、EAN-13码、EAN-8码等一维条码和PDF417等二维条码。条码呈现是一方面,在实际项目中条码扫描是非常重要的,因此葡萄城报表不仅支持条码呈现,在条码打印和导出也是非常精准的。

(二)创建类Word文档类报表

通常Word创建的文档有多种样式的数据呈现形式,多个表格、图片、富文本、图表等组成一个混合布局的复杂报表,同时支持多数据源绑定,每个组成部分可以有自己的独立数据源。这类报表因为信息量和数据量巨大,因此有一些非常特殊的报表需求,比如:首页/尾页不显示页面/页脚、表格跨页显示时标题行需要在每页重复显示便于查看数据、支持多张图片显示等。而这些复杂的报表需求,恰好是葡萄城报表非常强大功能所在。

类Word 报表,可以简单理解为所有使用Word制作的复杂表格,文案,合同类,履历类的文档,都以报表的形式呈现出来。以呈现多层结构信息为主,有严格的格式要求。类Word报表通常包含多个模块显示信息。模块之间结构和数据各有不同,对于页眉和页脚内容也有严格的要求等文档类的需求。

接下来我们就来展示使用葡萄城报表创建档案类报表,档案类报表常见于人员管理系统,这一类报表常包含个人基本信息介绍,经历信息,评价,结论等信息。该类报表的特点: 标题在左,右边为内容;每项内容单元格的样式都是有严格要求的,通常报表的上半部分信息密集,下半部分为大量的数据填报信息,因此占用空间比较大。该类报表通常有固定的页数。

2.1  报表原型

档案类报表通常包含如下模块:基本信息,职务信息,主要经历,审批信息,接下来我们来演示如何使用葡萄城报表矩表控件来创建

 

2.2  报表结构分析

1. 左侧为标题,右侧为内容

2. 内嵌图片控件

3. 详细信息高度不一致

4. 跨行单元格合并

2.3 实现思路

1. 使用矩表控件

2. 添加多级静态列

3. 跨行单元格合并

2.4 报表实现

1. 新建RDL 报表模板

2. 添加数据源和数据集

3.  添加矩表控件

4.  删除分组单元格

4.1 因为不涉及动态列,首先需要删除列分组和行分组单元格。

删除 行分组;并设置该行Size 的Width 属性为0

4.2 删除列分组

右键单击列分组单元格,选择“列分组”-》“删除分组”;

并设置该列Size 的Width 属性为0

5. 构造基本信息模块

5.1 插入静态列

右键选中TextBox1 插入列,右侧;(重复执行7次)

效果图:

5.2 插入静态行

右键选中 TextBox1插入行,下方;(重复执行6次)

效果图:

5.3 输入项标题

效果图:

5.4 合并单元格

6. 添加模块

6.1 选中“学历学位”单元格,插入行(执行三次),输入职务信息。

7. 添加详细信息模块

该模块每个内容项对应一行内容,显示大量的文本;因此需要进行单元格合并,设置足够的行高;

7.1 添加静态行

选择“拟免职务”,选择“插入行”-》“下方”(执行6次)

效果:

7.2 合并单元格

8. 调整样式

9. 最终运行效果

转载请注明出自:葡萄城报表

相关阅读:

【报表福利大放送】100余套报表模板免费下载

还在为画“类Word文档报表”而发愁吗?

多维透视表 - 矩表实现商品销售对比统计

还在为画“类Word文档报表”而发愁吗?的更多相关文章

  1. 【葡萄城报表】还在为画“类Word文档报表”而发愁吗?

    ​Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的勘探记录表,记录报告,检测报告等,如房地产业的制式合同,不仅包含大量的文 ...

  2. C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化

    转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...

  3. c#操作word类,进行html和word文档的互相转换

    实例引用:http://www.7es.cn/Software_development/171.shtml using Microsoft.Office.Core;using Word = Micro ...

  4. Word文档数据被误删了怎么办,还能恢复吗

    很多时候由于时间紧张或者是思路不想被打断,我们在编辑Word时不能及时的手动保存,一旦遇到电脑意外断电的情况可能就会导致编辑好的Word文档内容丢失.或者是文档编辑好了之后,Word提示是否保存时,误 ...

  5. C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)

    这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...

  6. C# 设置word文档页面大小

    我们知道,在MS word中,默认的页面大小是letter(8.5’’x11’’),除此之外,word还提供了其他一些预定义的页面大小,如Legal (5.4’’x14’’),A3 (11.69’’x ...

  7. ASP.NET生成WORD文档,服务器部署注意事项

    网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...

  8. Android中使用POI加载与显示word文档

    最近打算实现一个功能:在Android中加载显示Word文档,当然这里不是使用外部程序打开.查看一些资料后,打算采用poi实现,确定了以下实现思路: 将ftp中的word文档下载到本地. 调用poi将 ...

  9. JSP利用freemarker生成基于word模板的word文档

    利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...

随机推荐

  1. Python教程(2.3)——运算符和类型转换

    Python里有很多运算符(operator),这节就让我们来详细学一学. 注意:本文没有特别说明的地方,只考虑bool.int.float三种类型.例如"两边操作数类型相同时,得到的结果为 ...

  2. 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  3. javascript痛点之三闭包

    先来看看第一节的例子 'use strict'; function num(){ //用var声明一个变量num1 var num1 = 15; } alert(num1);//num1 is not ...

  4. iOS gcd 串行,并行,同步,异步代码研究

    参考文章: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #527eff } span.s1 { } http: ...

  5. zookeeper源码分析-server-util

    zxid (ZooKeeper Transaction Id,每次请求对应一个唯一的zxid,如果zxid a < zxid b ,则可以保证a一定发生在b之前) zookeeper采用了递增的 ...

  6. 工程师倾情奉献-Win7 ISO 精简操作说明

    1.前提条件 a)本文档内容只适用于32bit win7 install ISO,其它OS不能保证兼容 b)示范文件为win7-ultimate-rtm-32-en-us-rdvd.iso 2.准备待 ...

  7. NodeJS 实现手机短信验证 模块阿里大于

    1,NodeJS 安装阿里大于模块 切换到项目目录使用npm 安装阿里于模块 npm i node-alidayu --save 2,aliyu官网使用淘宝账户登录 登录阿里大于 https://do ...

  8. CNN压缩:为反向传播添加mask(caffe代码修改)

    神经网络压缩的研究近三年十分热门,笔者查阅到相关的两篇博客,博主们非常奉献的提供了源代码,但是发发现在使用gpu训练添加mask的网络上,稍微有些不顺,特此再进行详细说明. 此文是在 基于Caffe的 ...

  9. noip借教室 题解

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...

  10. httpClient 发送请求后解析流重用的问题(HttpEntity的重用:BufferedHttpEntity)

    使用场景: 项目中使用httpClient发送一次http请求,以流的方式处理返回结果,开始发现返回的流只能使用一次,再次使用就会出错,后来看了一些解决方案,EntityUtils.consume(r ...