还在为画“类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容器 ...
随机推荐
- Javaweb---如何使用eclipse创建Javaweb项目
在配置好--服务器Tomcat与Eclipse后,进行项目创建 配置地址:http://blog.csdn.net/baidu_37107022/article/details/71405194 流程 ...
- Nginx上部署HTTPS
Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev,且ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/, ...
- Ch2. Loop Structure
Ex Input some integers and output their min, max and average values (keep three decimal places). It ...
- 【原创+史上最全】Nginx+ffmpeg实现流媒体直播点播系统
#centos6.6安装搭建nginx+ffmpeg流媒体服务器 #此系统实现了视频文件的直播及缓存点播,并支持移动端播放(支持Apple和Android端) #系统需要自行安装,流媒体服务器配置完成 ...
- 一篇文章介绍GItHub的基础使用
最近复习了一下Git的使用,简单总结了一些.以供以后查阅和同行参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...
- mac Path had bad ownership/permissions
解决方案: http://stackoverflow.com/questions/28063598/error-while-executing-plist-file-path-had-bad-owne ...
- 用require.js封装原生js轮播图
index.html页面: <!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- Zab: A simple totally ordered broadcast protocol(译)
摘要 这是一个关于ZooKeeper正在使用的全序广播协议(Zab)的简短概述.它在概念上很容易理解,也很容易实现,并且提供很高的性能.在这篇文章里,我们会呈现ZooKeeper在Zab上的需求,也会 ...
- phpcms V9 后台验证码图片不显示
某个网站在本地运行成功,上传到服务器上后,发现后台登陆的验证码图片不显示 根据网上提供的解决方案, 网站路径变量web_path没问题 database.system的配置路径没问题 apache的G ...
- Qt使用MySQL笔记一
原始日期:2015-08-20 18:01 今天开发项目时,遇到一个问题,经过自己不断尝试,终于找到了解决办法,于是赶紧记下来,不然过段时间可能又忘了呵呵,从而重蹈覆辙,浪费时间~问题是这样的:在插入 ...