iReport 和 Jasperreport整合开发web报表向导(1)
我是在一个星期以前接触iReport 和 Jasperreport的,下载最初它们并没有吸引我的兴趣(或信任),主要是他们的版本的问题(我一直不敢用版本都不到1.0的工具软件,目前它们的版本:iReport0.2.2,Jasperreport0.5.0),不过听说有人在用他们,于是就仔细看了一下(因为在java应用程序的web打印方面我一直都是采用浏览器打印,非常痛苦,所以宁可信其有不可信其无,呵呵……)
一个星期下来,我针对项目中关于报表的一些需求点进行了尝试,发现他们都可以解决,真实大快人心,于是今天把他们推荐给各位。
其实我们做报表用的只是Jasperreport,iReport是一个Jasperreport的可视化开发工具(不要看它的界面有些简陋,我们要的操作他都可以帮我们轻松搞定。),当然iReport还有其他的用处,不过这里不做阐述。
目前几乎还没有中文的介绍他们整合开发的文章,尽管如此我也不准备非常详细的介绍它们,在这里我仅将我的一些经验写出来,不乏有些地方浅尝辄止,如果想细致的研究它们还请阅读它们被套的英文文档。
Jasperreport的配套文档非常详细,该文档是收费的,不过网上有流传的电子版本,本人有幸得到一份,如果你需要可以到本人站点(http://plateau.sicool.com)获得,在此感谢Jasperreport的为开源世界做出的贡献。
相反iReport的文档不多,也许作者认为其足够简单J,我也是经过无数的探索才有些开发的经验。
好了,让我们进入上述两者整合开发报表的历程……
1. 首先你要得到它们最新的版本,你可以到下边的地址下载
iRport: http://ireport.sourceforge.net
Jasperreport: http://jasperreports.sourceforge.net
他们的配置也很简单:
iReport解压缩以后编辑目录下的iReport.bat文件即可,如下
@echo off
set JAVA_HOME=C:\jdk14
set ANT_HOME=d:\ant
set IREPORT_HOME=C:\Documenti\progetti\iReport\iReport2
rem %ANT_HOME%\bin\ant javadocs
%ANT_HOME%\bin\ant iReport
是不是很简单,你只要设置相应的一些路经就可以,这里是采用ant来运行,当然如果你没有安装ant也不想安装它,那么也可以,不过这里我买个官子,你们自己可以到解压缩以后的目录中找到相应的运行方法。呵呵,安装ant吧J
Jasperreport不需要任何配置,你只需将下载以后的jar包放到classpath下即可。呵呵,说来简单,可是如果没有iReport来替我们干“脏活”,那么做报表的工作将是怎样的痛苦~!
2. Jasperreport是如何工作的?
这里我就往简单里说了。
首先要先有个xml文件,然后编译成jasper文件(以.jasper结尾),我们真正要使用的是编译以后的.jasper文件,这很像我们熟悉的.jsp文件,其实我们调用的是其编译以后的servlet。
(图片来自http://ireport.sourceforge.net/cap3.html#3.1)
不过静态的报表没有什么意思,所以有句话说得好:
“A datasource + a jasper = a print”
它可以支持的输出格式如下:PDF,HTML,XML,XLS,CVS等等。
因此,Jasperreport的原始输入就是一个.xml文档,想象看一个简单报表的xml文件也有几百行,在没有iReport以前用它做报表是多么痛苦。(令我不可思议的是,我一个同学公司曾经用jasperreport做报表,可是它们竟然没有用过iReport,天!)
现在不用怕了,用iReport可以轻松的搞定这个XML,写到这里,我想起了struts_config.xml,也曾出现不少关于它的可视化的编辑器,呵呵J
如果在iReport以前,如果你要做报表,你要华上很长时间来熟悉Jasperreport的文档,熟悉文档的一个用途就是编写那个xml文件,现在你只要他熟悉文档的时间来熟悉iReport就可以了。
3. IReport初探
先来看一下这个(rich and very simple to user GUI)吧:
如果以前你有过用vb或其他的开发工具开发报表的经验的话,这个界面乍一看应该很熟悉的,如果碰巧你又熟悉java语言,哇,那么你用iReport应该易如反掌啊,呵呵J
今天就说到这里,晚了,要睡觉了,明天我将着重讲解iReport。
赶快自己先下载个先用着吧J
欢迎访问我的站点http://plateau.sicool.com
Jplateau 2003年12月25日星期四 写于广州。