Java 报表工具

1、报表工具基本功能

报表工具一般提供一下功能:

  1. 支持多种数据源,而且数据源可配置。
  2. 支持脚本式的样式定义,一般是基于XML的,可灵活修改,一般提供样式编辑器。一般支持基于打印的样式定义,支持报表头尾、页面头尾、分组等概念。
  3. 将数据源和样式定义,输入到报表引擎,可输出为多种格式,包括PDF、EXCEL等。

2、报表工具的使用

从报表工具的基本功能来看,使用报表工具,核心是两个,一个是数据源的定义,一个是样式的定义。

数据源的定义比较简单,一般是数据库,按照报表工具要求的配置好连接池,依照业务需求写SQL即可。

样式定义一般依托设计器,首先,熟悉设计器页面设置相关功能,然后熟悉相关组件即可。

报表引擎可能需要搭建另外的服务器,或者是独立的Web App,按要求部署即可,需考虑资源负载和单点故障。

3、在项目中使用报表工具

在项目中使用报表工具分“设计时”和“运行时”。

3.1、设计时

设计时,使用可视化的报表设计工具“画”报表,绑定数据源。

获得报表样式文件,一般是XML格式。
为了提高报表执行效率,报表样式文件可能是编译过的二进制格式。

3.2、运行时

在运行时,发布报表样式文件到应用中。运行并获得结果。

需要对报表工具进行封装,满足“开闭原则”,即:保持Java代码的稳定,不因为新的报表需求或业务需求变更而修改Java代码。

封装后的报表模块,输入包括:数据源、样式定义、参数,数据源和样式定义都是在设计时确定的,从数据源获得的数据因参数不同而不同。

所以,报表模块可以如下访问:
http://myapp/report/?ds=ds1&rpt=rpt1&ext=html&params=blablabla

可以做如下约定:每个报表拥有一个name,数据源与样式文件都采用这个名字。

那么,报表模块访问方式可以为:

http://myapp/report/?name=rpt1&ext=pdf&params=blablabla

数据源和报表样式最好分开,就可以分开修改,修改sql的时候很多,特别是报表样式文件需要编译的情况。
报表数据源中,如果核心只是一个SQL语句,可以存成一个文件,或者存在数据库中,或者存在缓存中。

4、JasperReport

JasperReport是一款免费的、较为典型的报表工具。官方网址:http://sourceforge.net/projects/ireport/

下载页面:
http://sourceforge.net/projects/ireport/files/latest/download

iReport是JasperReport的样式设计器。
详细图文教程如下:
[iReport设计器](http://download.csdn.net/detail/stationxp/8738859
)

其他文档:

ch1 概述
http://wenku.baidu.com/view/5af1894e852458fb770b5620.html
ch2 环境
http://wenku.baidu.com/view/7136bb40a8956bec0975e3d7.html
ch3 报表入门
http://wenku.baidu.com/view/5e8d11976bec0975f465e2d7.html
ch4 数据库
http://wenku.baidu.com/view/3523b077f46527d3240ce0d7.html
ch5 其他数据源
http://wenku.baidu.com/view/94aa9ed1240c844769eaeed7.html

常见问题
http://wenku.baidu.com/view/6bd50288680203d8ce2f2436.html

PDF查看器:Evince。

猜你喜欢

转载自blog.csdn.net/stationxp/article/details/46002333