admin管理员组

文章数量:1026989

iRepor多张报表连续输出

因项目需要,最近两天一直在研究iReport。我的另一篇文章就进行了简单介绍,及我使用过程中遇到的需要注意的地方。

iReport做报表,其一次只能编辑一个报表模板,显然,当显示内容太多时,一个报表模板无法完整的显示整个报表所需的内容。那可否将多个iReport编辑的模板连接到一起合成一个新报表呢?

后来发现原来jasperreport的exporter方法提供了传入jasperPrintList方法,而且它接受参数的方式是setParameter,我的代码贴出如下:

//根据jasper文件生成JasperPrint对象  
JasperPrint jasperPrint = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P1.jasper"), parameters, getConnection());

JasperPrint jasperPrint2 = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P2.jasper"), parameters, getConnection());

JasperPrint jasperPrint3 = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P3.jasper"), parameters, getConnection());

 //连接多个报表模板

 List jasperPrintList = new ArrayList();

  jasperPrintList.add(jasperPrint);

 jasperPrintList.add(jasperPrint2);

 jasperPrintList.add(jasperPrint3);
 
 //获取输出字节流
ByteArrayOutputStream baos = new ByteArrayOutputStream();

JRPdfExporter exporter = new JRPdfExporter();
//设置JasperPrint参数  
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST,jasperPrintList);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
exporter.exportReport();

现在再复杂的报表都可以通过分段编辑模板,然后连接到一起输出了,是不是很方便。

iRepor多张报表连续输出

因项目需要,最近两天一直在研究iReport。我的另一篇文章就进行了简单介绍,及我使用过程中遇到的需要注意的地方。

iReport做报表,其一次只能编辑一个报表模板,显然,当显示内容太多时,一个报表模板无法完整的显示整个报表所需的内容。那可否将多个iReport编辑的模板连接到一起合成一个新报表呢?

后来发现原来jasperreport的exporter方法提供了传入jasperPrintList方法,而且它接受参数的方式是setParameter,我的代码贴出如下:

//根据jasper文件生成JasperPrint对象  
JasperPrint jasperPrint = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P1.jasper"), parameters, getConnection());

JasperPrint jasperPrint2 = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P2.jasper"), parameters, getConnection());

JasperPrint jasperPrint3 = JasperFillManager.fillReport(servletContext.getRealPath("/jasper/SAG-1-P3.jasper"), parameters, getConnection());

 //连接多个报表模板

 List jasperPrintList = new ArrayList();

  jasperPrintList.add(jasperPrint);

 jasperPrintList.add(jasperPrint2);

 jasperPrintList.add(jasperPrint3);
 
 //获取输出字节流
ByteArrayOutputStream baos = new ByteArrayOutputStream();

JRPdfExporter exporter = new JRPdfExporter();
//设置JasperPrint参数  
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST,jasperPrintList);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
exporter.exportReport();

现在再复杂的报表都可以通过分段编辑模板,然后连接到一起输出了,是不是很方便。

本文标签: iRepor多张报表连续输出