Ireport-jfreechart多报表同时打印

4 篇文章 0 订阅
3 篇文章 0 订阅
 关于嵌套循环结果的打印,其实Ireport-jfreechart也有非常好的解决方案,关键在于JasperReport提供了JASPER_PRINT_LIST,可以解决类似下面的问题:

1、循环的嵌套打印
类似:一个图书管理系统,要打印出借出的所有人的借出的图书信息,由于每个人有借出的多本图书,有很多人,而且每个人需要打印一份单独的借出一览清单。
2、多报表的整合打印
类似:需要将多个JasperPrint对象的文档打印到一起,而且对报表的格式要求不同等等。

关键步骤如下:

建立一个JasperPrint泛型的list,用来存放JasperPrint对象(注意,jdk1.5之后才支持泛型,之前的版本可以不用加)
private List reportlist = new java.util.ArrayList();

建立JRExporter导出对象
private JRExporter exporter = new JRPdfExporter();    

建立导出的文件流(供下载和文件输出的调用),如果是action,可以直接使用reponse.getOutputStream()对象
OutputStream outP = new ByteArrayOutputStream();

将每一个需要打印的报表JasperPrint添加到reportlist
for(;;)
    reportlist.add(***);

装载打印list
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, reportlist);

传入要输出的文件流
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outP);

执行导出
exporter.exportReport();

ok,接下来就可以自由的运用outP流了,无论是写文件还是下载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值