概述
jasperreport是http://www.sourceforge.net上一个优秀的开源的报表工具,其强大的功能及免费的特性得到了广大的认可和赞誉,现在的最新版本是jasperreport0.6.1。下载地址是
https://sourceforge.net/projects/jasperreports/。
ireport是jasperreport的一个ide的开发工具,使jasperreport变得更易用,其最新版本是ireport0.3.2支持到jasperreport0.5.3,和jasperreport一样也在不断的更新中。下载地址是https://sourceforge.net/projects/ireport/。
关于利用这两个工具开发web报表,这里已经有几份很好的材料:
jasperreport与ireport的配置与使用.pdf(该文档可用于一开始入门熟悉这两个工具)
thejasperreportsultimateguide.1.0.pdf (这个本是一份收费的文档,讲述了jasperreport生成的原理方面的知识,如果你打算能熟练的使用jasperreport这个报表工具,需要好好看这份英文资料的)
http://www.javaresearch.org/forum/thread.jsp?column=316&thread=14374
第一次运行
第一次总是比较痛苦,使用这个报表工具也是,下面是我总结出的一些运行中比较容易出现的问题。
我的总结是建立在使用ireport0.3.2 + jasperreport0.5.3(没办法,ireport0.4.0还没出来,0.3.2只支持到jasperreport0.5.3)。至于这两者的组合,我用到现在还是觉得比较顺的。
从souceforge上下载ireport-0.3.2.zip 解压后,要注意一点,把你的jdk的tools.jar拷到你解压后的ireport的lib目录下,做中文的pdf报表还需要把itextasian.jar拷到lib下,如果你用的是oracle的数据库,那么你还需要把class12.jar也就是oracle的jdbc包拷到lib下,其他数据库也一样。
好了准备工作做好了,运行ireport.bat。如果比较顺利,应该能看到以下画面,说明ireport成功运行了。
如果dos界面一闪而过,并且没有出现以上界面,说明没有成功。按以下步骤可解决该问题:
确定系统安装有jdk,而且系统环境设置,path里有jdk的bin目录,并有java_home参数,以下是我的几个参数的配置情况可供参考:
1 java_home d:/jbuilder9/jdk1.4
2 path d:/jbuilder9/jdk1.4/bin;d:/install/ant161/bin
3 classpath d:/ireport032/fonts;e:/project/essv6/webapps/web-inf/classes
4 ant_home d:/install/ant161
(关于上面参数设置的说明:)
report0.3.2及jasperreport0.5.3都要求jdk1.4以上版本,所以要注意oracle9装好会自动把java环境设为oracle自带的jdk1.3.1,会导致无法运行ireport。
ant_home及path中ant的设置是为了可以用ant来学习jasperreport的例子,这些例子在jasperreport解压后的demo/samples目录下,比如在dos环境下进入demo/samples/jasper目录下,输入命令ant view 就可以看到该示例报表。
classpath中d:/ireport032/fonts;的设置是确保ireport里字体设置的时候能选择一些外部字体,比如要让pdf显示黑体,那么把windows下的simhei.ttf拷到d:/ireport032/fonts下,在ireport中如下设置:pdffontname为外部字体、truetypefont 为simhei.ttf、 编码为unicode with horizontal writing,这样就能使用黑体了
e:/project/essv6/webapps/web-inf/classes,classpath里的这是设置,是让报表里一些数据要经过特殊处理,可以用工程里的函数。
这些设置完成后,到dos环境下的ireport目录下,运行ireport.bat,dos环境下的好处是如果ireport运行失败可以看到失败原因,然后针对性的解决。
ireport可以运行后就是一个摸索使用,慢慢了解熟悉的过程了,直到你能做出像样的一些报表。这个过程可以参考上面提到的
http://www.javaresearch.org/forum/thread.jsp?column=316&thread=14374
常见问题的解决
具体做报表的时候会碰到许多问题,关键的是我们需要分析出错提示,根据找到解决办法,比如你把报表放到你的工程下,比如运行结果提示java.io.filenotfoundexception,那么你就需要确定你的报表编译后的文件在相应的目录;又比如提示noclassdeffounderror,那你就要看看是哪个包没有放到你的工程下。一下是一些常见问题:
jasper报表中画的交叉线在html和xls中无法显示?
答:要想在html里面显示的话,线与线之间,线与字框之间不能有任何一点重合所以你说的交叉线,如果是两条线直接交叉画的话,就只能由一条显示,需要分三条线段画。
闽公网安备 35060202000074号