报表工具

一、 报表简述

1、产品介绍

RDP报表工具是一款高效易用的企业级Web报表工具,以国内报表开发需求为主,专注于中式复杂报表的解决技

术并集合多年的研发和开发经验的积累,对于国内复杂报表的处理已经到了极高的水准。

支持可视化拖拽操作即可制作中国式复杂报表,帮助软件公司加快项目进度,帮助企业搭建报表中心,轻松维护,

及时响应业务需求。

2、界面和基本菜单描述

进入报表管理界面后,报表主要分为数据源管理、模板管理、报表演示、自定义配置、自定义报表五个大菜单,

其中除自定义报表功能外,其它的不依赖于单独的数据库。

管理界面如下图:

管理界面

a. 数据源管理是报表配置所需要的数据库连接,数据源配置信息保存于db-config.xml文件;

b. 模板管理是配置报表后的存储文件(不包含自定义报表),文件以xml的形式保存于reportfiles目录;

c. 报表演示列举了三个常见类型的报表,报表整合时可以参照对应的报表类型进行整合;

d. 自定义配置是针对自定报表的配置信息(自定义报表功能要依赖数据库,需单独创建);

e. 自定义报表同模板管理,只是把自定义报表分开单独列出来。

3、设计器

设计器基于Web技术实现的页面版本设计器,直接通过浏览器访问。无需安装任何插件。

设计器的工作区及操作模块为以下几点:

1)、常用操作

对新增报表或调整报表的保存、另存、模版导入、报表预览等操作。

2)、剪切版

对报表的复制、剪切、粘贴的操作。

3)、字体配置

可设置字体加粗、字体颜色、背景颜色、倾斜、下划线、删除线、字体、字号。

4)、对齐方式

可设置单元格的显示对齐位置。

5)、单元格设置

设置单元格的合并、拆分、文字自动换行、行列的插入和单元格的边框设置。

6)、编辑

设置单元格高度和宽度,以及函数配置。

7)、页面设置

设置工具栏的显示位置,横向纵向。默认显示页码。

8)、表达式函数使用

表达式和函数在报表开发过程中,具有重要的作用。对于数据存储时某些特殊的字符,需要通过特殊处理,才能更好地表达字符的含义。表达式函数就是将这些字符处理或者格式化的工具。

设计器界面如下图:

设计器界面

二、 报表绘制准备

报表设计器采用了HTML5和CSS3前端的特性,在报表绘制的过程中,使用谷歌浏览器、火狐浏览器等。

三、 绘制报表

设计器的基础操作包括对报表的增加、删除和修改,以及页面调整过程中对报表显示属性的设置管理。

1、报表绘制流程

第一步:配置数据源

第二步:创建报表

第三步:报表数据集及参数配置

第四步:绘制报表

第五步:保存与预览

2、数据源配置

登陆报表设计器后台管理页面。点击左侧数据源管理菜单。单击新增数据源按钮。

数据源管理列表,如下图:

数据源列表

新增数据源配置,如下图:

数据源列表

数据源配置,如下图:

数据源列表

编辑与删除

点击列表的操作列,对数据源进行编辑操作,方式与新增类似。也可对无用的数据源点击删除按钮进行删除操作。

3、报表创建

报表创建分为三种形式:创建手工绘制、模版复用、Excl导入模版。

1).手工绘制创建

点击报表后台管理左侧的报表配置菜单,右侧为报表配置列表。点击添加动态模版。进行报表模版的创建。

报表配置管理列表,如下图所示:

数据源列表

创建报表模版设计器配置页面,如下图:

数据源列表

2).模板复用

在绘制相同业务或者类似报表时,可通过报表模板复用的形式将报表另存,通过不断地调整达到理想的报表效果。

3).Excl导入

在报表的开发过程中,由于报表绘制导致调整速度较慢,可通过现有的Excel模板导入,将导入的模板配置好数据集即可使用。

4、数据集及参数配置

1).数据集配置

数据集:数据集是报表工具通过SQL 查询语句或存储过程等数据存储方式,经过报表工具处理后得到的数据结果的集合。

第一步:

1.点击右侧新增数据集,弹出数据集配置对话框,然后配置报表所需的数据集

2.选择数据源名称,填写数据集名称、执行sql,其中如果SQL需要动态传递参数时可用问号(?)作为动态参数占位符(Select * from demo where id = ?),问号的个数对应参数的个数,顺序是一一对应的

3.sql语句不要有注释,如出现sql注释SQL验证将会出错。sql配置完成,勾选检查SQL,点击保存即可完成配置

4.(注:校验SQL点击勾选保存时将验证SQL语句的正确性并更新数据集字段,如未配置完成则不勾选进行保存)

如下图所示:

第二步:数据集配置校验通过后,右侧会出现数据集列表对应的字段,如下图所示:

2).数据集参数配置

数据集参数:数据集参数是对数据集结果的过滤条件,其目的是将查询的结果集通过参数过滤的形式保留业务想要的数据集。

提示:在报表配置时,大多数报表可以根据页面指定条件筛选报表的显示结果。

注:参数配置说明

sql参数使用的是问号(?)作为占位符,例如:select * from demo where (id = ? or ?='') and name like '%?%'。

(id = ? or ? = '') 这种形式是默认不传递参数时查询全部,传递参数时按参数查询结果。

sql中存在问号占位符时,需要在数据集配置参数,其中(?) 问号的位置要与参数的顺序一一对应,有多少个问号(?),就要有多少个参数。

如果参数设置为数字sql配置需要这样处理(id = '?' or '?' = ''),其他的参数类型无需加单引号。

第三步:

1.点击添加参数,弹出参数配置对话框,

2.填写一下参数名称、中文描述、选择表单类型(说明:输入框时当前值为输入框默认值,表单类型为选择框时下拉框值格式为:文本:值,文本:值)

3.选择参数类型,(说明:普通参数会在自定义参数展 示区域显示,动态参数则显示为隐藏域,可通过 url 传参)

4.数据类型(说明:选择参数的数据格式,注:日期框类型 需要与业务系统结合使用,为了与业务系统的样式尽量保持一致,下个版本会带上),值/表达式(参数的默认值)

5.填写完成,点击添加键

如下图所示:

添加成功,右侧列表会出现添加的参数名称,如下图所示:

注:小提示,还可以将参数列表下新添加的参数拖拽到数据集列表下的参数里,如下图所示:

然后点击数据集名称修改,弹出页面,找到参数列表,如下图所示:

这样就可以通过点击参数列表增加或者删除,如下图所示:

3).数据字典项数据集配置

5、报表绘制

1).基础报表绘制

基础报表绘制包括,报表头、数据区、报表格式及颜色的简单配置。让使用者快速的了解报表的基础配置。通过不断积累配置复杂报表。

2).数据字典项配置

配置数据字典项首先配置类型为数据字典项的数据集,可参考上述的数据字典项数据集配。

3).报表链接

配置字段对应链接,报表可以在报表之间通过点击链接切换中转。

在报表工作区域的数据列,需要配置链接的单元格右键,弹出配置菜单->配置->配置超链接。

首先选择报表,然后点击添加参数,配置链接参数,点击生成自定义链接。点击保存链接就配置完成了。也可根据实际情况通过说明进行参数增加配置。

链接配置页面,如下图:

链接配置

4).子报表

单报表允许引用一个或多个报表拼成一个报表。子报表配置方式与报表链接相同。

在报表工作区域右键,弹出配置菜单->配置->配置子报表,进行子报表的选择。可在一个报表中配置多个子报表。

5).交叉表头

配置交叉报表时可以在线配置交叉报表头并实时显示。

在报表工作区域右键,弹出配置菜单->配置->交叉表头。通过配置页面配置即可。

如下图:

数据源列表

6).JavaBean报表

对于已有业务系统报表数据,可直接在报表系统通过数据对应JavaBean方式去映射配置展现报表。

首先配置好JavaBean数据集。保证报表项目中存在一个实体类与数据库的表名称对应。

将配置好的数据集,点击保存,具体的报表配置与基础报表相同。

JavaBean数据集配置,如下图:

JavaBean

7).动态列报表

配置表头表达式可以实现动态扩展列的报表。

动态列的配置使用了动态类函数。该报表可通过该函数来实现动态列的功能。

动态列配置,如下图:

JavaBean

其中数据集a:

select DISTINCT(nian) from dtl ORDER BY nian

其中数据集b:

select yue from dtl GROUP BY yue

其中数据集c:

select dian,shui from dtl where nian=? ORDER BY yue

动态列的年配置gpc($F{a.nian})(函数具体使用详见API文档),这样就实现了动态列的配置。

6、保存与预览

在报表开发过程中,可通过预览的形式,将配置好的报表实时查看其显示效果;带有参数的报表可在实时预览的过程中,填入对应的参数属性。

查看时会将想要的数据根据输入的参数显示处理。

1).保存

保存操作会将运行环境的报表模版进行更新操作。

报表的保存分为以下两种:

a.项目模版与工作空间模版相分离,保存时只保存工作空间模版。在确认无误时,将调整好的工作空间模版替换到项目模板中去。

优点:保存时可以进行实时预览或保存,不必担心原始表样被覆盖。

缺点:需要将调整好的报表及时保存。

b.项目模版直接调整

优点:避免反复地保存、替换项目模版。

缺点:版本恢复较麻烦。

2).预览

根据当前页面的配置信息进行预览,不影响实际模版。

四、 函数

报表函数在报表解析展现过程中有着举足轻重的作用,分组、动态列、格式转换的都是通过函数来完成配置的。下面我们简单介绍下函数如何配置。

具体配置详见API文档。

其中函数的$F{}为报表工具的解析字段的数据处理格式。

其具体操作,如下视频:

1、数据集函数

以分组函(group)函数为例:

使用方式:group($F{ds.user_id})

$F{ds.user_id} 为获取数据集中的数据字段。

2、单元格函数

单元格函数是处理单元格值的大小,其中包含求和、平均值、最大、最小值等。

以求和(sum)函数为例:

使用方式:sum($F{ds.wages})

$F{ds.wages} 为获取数据集中的数据字段数字类型。

3、时间函数

时间函数是将字符格式为yyyy-MM-dd HH:mm:ss 的时间,通过函数获取年、月、日、时间等。

以日期(day)函数为例:

使用方式:day($F{ds.reg_date})

$F{ds.reg_date} 为获取数据集中的数据字段时间类型。

4、字符串函数

字符串函数是将当前字符串通过截取、去空格、拆分、获取长度等一系列操作的函数。

以左截取(left)函数为例:

使用方式:left($F{ds.user_addr},10)

$F{ds.user_addr} 为获取数据集中的数据字段字符串类型。其中的10为从左侧起截取到字符串结束。

5、数据类型转换

数据类型转换函数是将已知格式的字符串转换成指定格式的字符串。例如将字符串转换成金额类型等。

以金额转换(toDef)函数为例:

使用方式:toDef($F{ds.wages},"#,##0.00")

$F{ds.wages} 为获取数据集中的数据字段数字类型。#.##0.00为将数字转成金额(99,999.99的形式)。

五、 表达式

在报表开发过程中,有些数据需要通过判断显示不同内容,那么表达式就解决了这个问题。

判断表达式

判断表达式 “if(a > b){ a }else{ b }”

三目运算

三目表达式:“a > b ? a : b”

六、 系统集成

系统集成是为了将设置好的报表更好的展现,是直接访问或是业务挂靠。

1、简单集成

说明:简单集成是直接通过链接调用或iframe调用报表地址进行集成。

步骤:

1.进入报表系统,点击报表配置,点击要集成的报表模板,复制浏览器的访问地址;

(如:http://localhost:8080/REPORT_SOURCE/report/design/designPreviewMain.jsp?reporttype=D&uid=b0f44689bd804c43d59d85871a99711c);

2.超链接调用:在业务系统找到要访问报表的功能模块,添加复制的链接;

如: <a href=”http://localhost:8080/REPORT_SOURCE/report/design/designPreviewMain.jsp?reporttype=D&uid=b0f44689bd804c43d59d85871a99711c”>报表</a>)创建超链接;

3. iframe调用:在业务系统找到要访问报表的功能模块页面,添加iframe并使用报表复制的链接。

(如:<iframe src=” http://localhost:8080/REPORT_SOURCE/report/design/designPreviewMain.jsp?reporttype=D&uid=b0f44689bd804c43d59d85871a99711c” frameborder="0" style="width: 100%; height: 100%;" ></iframe>)即可。

特点:简单集成的优点是集成简单方便,缺点是和业务系统集成不够紧密。

2、深度集成

说明:深度集成是在业务系统中,按照报表模板配置参数的形式,将参数传给报表系统进行集成。

步骤:

1. 进入报表系统点击报表配置,点击要集成的报表模板,复制浏览器的访问地址;

(如:http://localhost:8080/REPORT_SOURCE/report/design/designPreviewMain.jsp?reporttype=D&ui=b0f44689bd804c43d59d85871a99711c)并将其中的“designPreviewMain.jsp”替换为“designPreviewIndex.jsp”备用

备用(如:http://localhost:8080/REPORT_SOURCE/report/design/designPreviewIndex.jsp?reporttype=D&uid=b0f44689bd804c43d59d85871a99711c);

2. 在业务系统相对应的模块配置好相应报表的参数表单和引用报表模板地址的iframe;

3.将参数表单的查询以post的方式提交到配置的iframe进行访问(该步骤可通过js自行改造);

4. 调用可参考报表系统中的”业务系统调用.jsp”。特点:深度集成优点是与业务系统集成比较紧密,缺点是配置相对复杂,需要技术人员进行整合。

免费永久授权