jasperReport是一个用JAVA实现的开源报表工具,可提供的报表的形式有word、excel、powerpoint、pdf等。总的来说,jasperReport应该由jrxml文件开始,然后到pdf、excel等文件结束。其文件流程是:
1 2 3
jrxml==========》jasper==========》jrprint=============>PDF、EXCEL等
这些文件在jasperReport的jar包中都可以映射成相应的类,而这些类的流程是:
A B C
JasperDesign============》JasperReport=================》JasperPrint==================》PDF、EXCEL
解释:
1 jrxml是jasperReport指定的一个报表模板文件,决定了报表的样子,它对应的类是JasperDesign.我们可以修改jrxml文件或者修改JasperDesign的对象的属性来得到我们需要的报表模板;
代码:JasperDesign design = JRXmlLoader.load(new File(context.getRealPath("/reports/better_report1.jrxml")))
2 jrxml经过编译生成jasper文件,jasper文件与JasperReport对应对应,jasper文件中存放的就是JasperReport 的一个实例。
代码:OutputStream out = new FileOutputStream(new File(new File(context.getRealPath("/reports/better_report1.jrxml")).getParent(),design.getName()+".jasper"));
JasperCompileManager.compileReportToStream(design, out);
3 jasper文件到jrprint 的过程中添加了报表所需要的数据,例如数据统计的统计结果集。
代码: JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport,parameters,connect);
4 有了JasperPrint对象或者是jrprint 文件之后,现在可以导出报表了,就是各种Exporter发威的时候。
这些导出的工具类一般在
net.sf.jasperreports.engine.export这个包中