还在为画“类Word文档报表”而发愁吗?
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~
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. 最终运行效果

转载请注明出自:葡萄城报表
相关阅读:
还在为画“类Word文档报表”而发愁吗?的更多相关文章
- 【葡萄城报表】还在为画“类Word文档报表”而发愁吗?
Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的勘探记录表,记录报告,检测报告等,如房地产业的制式合同,不仅包含大量的文 ...
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...
- c#操作word类,进行html和word文档的互相转换
实例引用:http://www.7es.cn/Software_development/171.shtml using Microsoft.Office.Core;using Word = Micro ...
- Word文档数据被误删了怎么办,还能恢复吗
很多时候由于时间紧张或者是思路不想被打断,我们在编辑Word时不能及时的手动保存,一旦遇到电脑意外断电的情况可能就会导致编辑好的Word文档内容丢失.或者是文档编辑好了之后,Word提示是否保存时,误 ...
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...
- C# 设置word文档页面大小
我们知道,在MS word中,默认的页面大小是letter(8.5’’x11’’),除此之外,word还提供了其他一些预定义的页面大小,如Legal (5.4’’x14’’),A3 (11.69’’x ...
- ASP.NET生成WORD文档,服务器部署注意事项
网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...
- Android中使用POI加载与显示word文档
最近打算实现一个功能:在Android中加载显示Word文档,当然这里不是使用外部程序打开.查看一些资料后,打算采用poi实现,确定了以下实现思路: 将ftp中的word文档下载到本地. 调用poi将 ...
- JSP利用freemarker生成基于word模板的word文档
利用freemarker生成基于word模板的word文档 freemarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器 ...
随机推荐
- 微信小程序开发《二》:http请求的session管理
作为一个开发JavaWeb应用的程序猿,都喜欢将用户登录后的用户信息(比如说用户id,用户名称)放入session中保存,之后在业务逻辑的开发中需要用到用户信息的时候就可以轻松又方便的从session ...
- 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...
- HTML----网页基础和基本标签
网页分类: 1.静态网页:所有内容全写死,都写在源代码中,若修改必须修改源代码,后缀为.html或htm 2.动态网页:内容大部分来自于数据库,可以修改,后缀为.aspx(c#).jsp(java). ...
- js事件循环
之前有看过一些事件循环的博客,不过一阵子没看就发现自己忘光了,所以决定来自己写一个博客总结下! 首先,我们来解释下事件循环是个什么东西: 就我们所知,浏览器的js是单线程的,也就是说,在同一时刻,最多 ...
- Vulkan Tutorial 17 Rendering and presentation
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Setup 这一章节会把之前的所有内容进行整合.我们将会编写drawFrame函数, ...
- JS+PHP实现用户输入数字后取得最大的值并显示为第几个
目的:分清JS PHP的区别,拓宽思维 分析 1.利用JS的prompt输入用户想要输入的值. 2.利用HTML表单的text标签将输入的值传递给PHP处理文件 3.PHP进行数值判定,选出最大值和位 ...
- 实现最简单PHP MVC实例
关于网上大多MVC的简介我就不再多说,就是Model(模型)View(视图) C(控制器)这里作为一个刚入门PHP MVC框架的我,这里我搭建一个最简易的mvc项目,从而理解MVC 1在apache服 ...
- 关于java中使用数组的几点理解笔记
1.数组元素就是变量: 2.在已有数据类型之后加方括号[],就会产生一个新的数组类型: 分两类:1)基本数据类型,如:int[],string[]; 2)引用数据类型,如:Person[](类): 3 ...
- win7安装oracle10g数据库 提示“…实际版本为6.1”
1.最重要的是需要以管理员的身份操作 2.修改重要的文件 然后解压,在目录中找到refhost.xml(有两个,我的一个是在stage\prereq\db目录下,一个是在stage\prereq\db ...
- java web数据库(SQL 2008+IDEA 14)环境配置
废话少说,在之前已经配置过IDEA+Tomcat的环境之后,现在需要进行数据库配置: 1.首先,SQL SERVER2008数据库的安装 (1)将下载的sqlserver 2008数据库进行解压,点击 ...