UReport2介绍
UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。
在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外)。使用UReport2,打开浏览器即可完成各种复杂报表的设计制作。
UReport2是第一款基于Apache-2.0开源协议的中式报表引擎。
1、产品界面
2、存储路径
在这个窗口,我们只要输入报表名称,同时再选择报表的存储目的地就,可以保存当前报表文件。可以看到,UReport2默认给我们提供的存储目的地是“服务器文件系统 ”,实际上就是我们项目中WEB-INF目录下的“ureportfiles”目录,这个目录是系统默认自动生成的,如果需要我们可以添加一个属性来更改这个目录位置。
3、数据源
对数据源有三种加载方式
(1)直接连接数据库
直接连接数据库比较简单,就是在项目的classpath中添加好相应数据库的驱动Jar包后,在弹出的窗口中配置数据源连接信息即可,如下图所示:
(2)Spring Bean
Spring Bean类型的数据源可以选择Spring上下文中定义好的一个Bean来作为数据源,点击图标,在弹出的窗口中输入数据源名称及要采用的Bean的ID,如下图所示:
保存后,就可以在这个数据源下添加具体的数据集,添加方法就是在这个数据源下右键,在弹出的菜单中选择添加数据集,在弹出的窗口中定义数据集名称、对应的方法名以及返回对象类型,如下图所示:
在Spring bean数据集配置中,方法名我们可以点击右侧的“选择方法”按钮来选择当前Bean对应的类中定义的方法,但这里对方法的要求是:方法必须要有三个参数,依次是String,String,Map,比如我们上面定义的testBean里就包含两个合法的方法,如下所示:
(3)内置数据源
这种类型的数据源,要示我们实现BuildinDatasource接口,同时将BuildinDatasource接口实现类配置到Spring即可,BuildinDatasource接口源码如下:
BuildinDatasource接口实现类配置到Spring中后,UReport2会自动检测到,这样在报表设计器中,点击数据源页签中的按钮,在弹出的窗口中就可以选择定义好的内置数据源,如下图所示:
对于UReport2提供的三种类型的数据源,各有其特点及适用场景,对于使用者来说,要根据它们的特点灵活选择。
4、报表类型
(1)普通列表
(2)简单分组
(3)统计分组报表
(4)分栏展示
(5)错行分组
(6)报表的同比与环比
(7)交叉报表
5、图标类型
(1)饼图
(2)环图
(3)曲线图
(4)柱状图
(5)雷达图
(6)极坐标图
6、套打
要为报表模版设置背景图,可以点击工具栏上的设置图标,在弹出窗口中定义要采用的背景图URL即可,如下图所示:
有一名为print-demo.jpg图片位置当前WEB项目根images目录下,如果我们希望采用它作为模版的背景图,那么可以输入地址:../images/print-demo.jpg,输入完成之后,就可以在设计器中看到张背景图;当然指定背景图片的URL时,也可以以http开头来定位一张位于互联网上的图片。
对于套打而言,一般情况下,我们首先需要拿到具体的实物单据,然后进行扫描,比如可以以300dpi的分辨率进行扫描,扫描后的图片用可以用PHOTOSHOP之类的图片处理软件打开,将图片分辨率设置为96dpi即可,最后将这张96dpi的图片作为报表模版的背景图同时将报表模版的页面尺寸与扫描件的尺寸对应上,并设置上下左右的页边距为为0,这样就可以开始套打报表模版的设计工作了。
对于UReport2而言,一旦报表模版设置了背景图片,在HTML预览时会显示背景图片,但在导出PDF、WORD、EXCEL等格式的文件时则不会输出对应的背景图片,这样直接打印PDF、WORD之类输出文件,就可以实现报表功能。下图中是一张带背景图的报表模版文件:
在这张报表模版当中,我们用的数据都是静态的,当然对于来自数据集或表达式中的动态数据设置方法也是一样,点击HTML预览按钮,可以看到如下图所示效果:
在需要套打的报表模版设计过程中,选择好背景图后,一般我们需要先从最为密集行列部位开始设计,最后才是最简单的部位,实际使用时,具体位置还需要我们慢慢微调方可达到最佳位置效果。
7、报表的打印与导出
(1)在线打印
(2)pdf在线预览打印
(3)导出
导出支持PDF、WORD、EXCEL;