使用ireport+jasperreports生成报表时需要注意的地方

来源:互联网 发布:淘宝客新玩法 编辑:程序博客网 时间:2024/04/29 16:40

          之前使用ireport+jasperreprots做了一些报表的开发,自己首先学习基础知识,然后遇到问题在网上查找。有些问题也是自己摸索着进行开发的。现在把自己在学习过程中遇到的问题总结一下,系统大家遇到这些问题的时候能够及时解决,不需要浪费更多的时间。对于基础的知识,我在这里就不多说了,网上也有很多关于学习的资料。

         开始我使用的是ireport3.0.0+jasperreports3.0.0进行开发的。中间主要使用到了子报表等比较复杂的报表设计。在使用过程中会遇到问题:如果设计的报表比较负载,在导出word文档时,数据比较大的导出打开的时候机器直接卡死,原因是在这个版本中导出Word格式文档首先生成了通用格式文档,然后使用word打开的时候, 需要把生成的文档进行转换,这样就使生成的文档特别大,word不能正常打开。如下代码:

                       JRAbstractExporter exporter=new JRRtfExporter(); //该行代码是生成通用格式文档

为了解决上面的问题,我尝试了使用ireport5.0.0+jasperreport5.0.0进行设计开发,由于从ireport5.0之后,irepor生成的xml文档中添加了部分其他的属性(uuid),这个属性是作为每一个Element的唯一标示,由于对最新的jasperreports不太了解,虽然能够导出word和pdf文档, 但是当使用servlet进行前端打印的时候报错,经过很长时间的查找,没有原因,就放弃了使用ireport5.0.0。之后我尝试使用了ireport4.5.0,但是ireport5版本打开文档太慢,就放弃了。最终选择了ireport4.7.1+jasperreports4.7.1进行了设计开发,并最终完成了所有需要的功能。

        在jasperreports4.7.1中,添加了支持导出word文档的api(其实在之前的版本中已经存在了)。通过这个api可以直接生成word文档,代码如下:

                      JRAbstractExporter exporter=new JRDocxExporter();//生成word格式文档

这样在使用word打开的时候,就大大提高了效率,并且生成的文档比之前的小很多。但是需要注意一下几点:

    1、在使用中确保使用的ireport与jasperreport同个版本,都可以从网站          上面下载。

    2、在使用中需要有itext的jar包 ,建议使用Text-2.1.7.jar,否则可能报  错误

 

 

希望这些对大家有帮助,我也是自学的,如果有什么地方不正确请大家纠正,不胜感谢!

原创粉丝点击