jasperreport和ireport应用

本文分享了使用JasperReport和iReport的实际经验,包括解决中文显示问题、IE浏览器兼容性问题的方法,并介绍了如何通过Map传递数据进行报表打印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间研究了一下jasperreport和ireport,感觉在B/S报表那一块有他的一些优势,在看的过程中遇到了一些问题同时也学到了一些技巧如下:
1。工具简介
      jasperreport和ireport都是开源软件,可以免费下载。
ireport使jasperreport的一个可视化设计工具,里面集成了一些画图工具和数据库的操作,用ireport做出来的是一个jrxml文件也可以在里面直接编辑此文件(比较麻烦)。经过运行编译后生成jasper文件,这个文件是我们需要的东西,将来我们做报表读取的就是这个文件。工具的其他一些东西像下载地址之类的网上到处都是,在此就不细说了。下面我就把我这段时间遇到的问题在这做一个总结。
2。用ireport遇到的一些问题
      (1)解决里面的中文问题:
              在pdf里面不能显示中文
              解决方案:
                 1。将itextasian.jar下载下来(google一搜就有)放到  ireport目录底下的lib文件夹下即可。有人还说要再放一个itext.jar到
lib目录下,但是在我的应用过程中发现不放此文件也可以。
                 2。将每个文本域属性当中的PDF font name改为STSong-Light并且将PDF encoding里面的设置改为UniGB-UCS2-H (Chinese Simplified),此时应该差不多了。
       (2) 解决IE里面的斜线问题
            用ireport画的斜线无法在IE里面显示(因为html本身无法支持斜线)
            解决方案:将需要显示斜线的地方做成图片,然后利用image控件加载图片即可
          (3)解决IE里面无法显示的问题
                 在ireport里面画出的图表无法在ie里面显示
                 解决方案:在Ireport里面画图的时候不要用直线工具,里面的线全部用static text文本框的border画出。也就是说,里面的图表全部都是用文本框堆积成的。切记:图表里面的所有元素都不能交叉,如果有一点交叉或重叠,在IE里面都是显示不全的。
3。应用时常见的几种方式:
       由于html自身的局限性,以及html显示的问题,现在在网络上传输的打印很多都采用pdf格式输出。jasperreport对pdf做了很好的支持!
       个人根据需要可以改写jasperreport的代码,以使之更好的为自己服务。
     1.可以把数据放到map中传递到pdf打印页面(一般适合类似票据打印)   
        Map parameters = new HashMap();//参数

        通过把map输出到ireport模板中,得到要打印的票据

     2.可以把结果集放到collection中,这样想打印什么都可以了!

     3.剩下的就是写sql了,通过map把参数传递过去,利用参数就可以写要查询的结果集了。

注:在ireport通过查询语句取结果集的时候发现定义的参数顺序和ireport生成模板的顺序不一致,这样在sql中如果条件是(a,b,c)结果它把参数的顺序写成了(b,c,a)或者什么的。不知道这是不是ireport的bug。

 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值