欢迎来到天天文库
浏览记录
ID:48262300
大小:51.50 KB
页数:4页
时间:2020-01-20
《iReport使用JavaBean做数据源》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、iReport使用JavaBean做数据源说明:iReport使用JavaBean做数据源,可用于IC系统多条生产线导致的报表无法重复利用,以及Hibernate+Struts中无法在报表中使用Hibernate的数据库连接的问题。打开iReport,找到Options
2、Classpath,将已经编译好的javabean文件加入classpath中,可以选择jar方式的,也可以选择文件夹方式的。如下图:设置好classpath以后,点SaveClasspath保存。然后需要重新启动iReport,好让新的classpath设置生效
3、重新启动后进入Date
4、报表查询,选择JavabeanDataSource,然后在下面的ClassName中输入对应的Javabean数据源,如下图所示:选择好要用的字段后,记得点AddSelectedFiled(s),然后再点OK剩下的操作自然就是在报表中插入字段了,以下的操作因为类似使用数据库数据源,所以不做详细介绍。调用代码:Listlist=ic190_BDO.getHbC_StyList(icProductline,icCodeSta,icCodeEnd);//此获得的List即为最终要显示的内容,因此所有过滤条件都该在
5、此处使用System.out.println("list'ssizeis:"+list.size());JasperPrintjasperPrint=JasperFillManager.fillReport(reportFile.getPath(),null,newJRBeanCollectionDataSource(list));//将取回的List构造成JRBeanCollectionDataSource。这是用javabean做数据源的核心部分JRExporterex=newJRTxtExporter();ByteArray
6、OutputStreambaos=newByteArrayOutputStream();ex.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);ex.setParameter(JRExporterParameter.OUTPUT_STREAM,baos);ex.exportReport();bytes=baos.toByteArray();if(bytes!=null&&bytes.length>0){System.out.println("bytesisnotn
7、ull");response.reset();response.setHeader("Content-disposition","attachment;filename=confirmStyleReport.txt");response.setContentLength(bytes.length);ServletOutputStreamouputStream=response.getOutputStream();ouputStream.write(bytes,0,bytes.length);ouputStream.flush();
8、ouputStream.close();}else{System.out.println("bytesisnull");}
此文档下载收益归作者所有