程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了合并两个Jasper报告大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决合并两个Jasper报告?

开发过程中遇到合并两个Jasper报告的问题如何解决?下面主要结合日常开发的经验,给出你关于合并两个Jasper报告的解决方法建议,希望对你解决合并两个Jasper报告有所启发或帮助;

这是合并多个碧玉印刷品的示例代码

List<JasperPrint> jasperPrints = new ArrayList<JasperPrint>();
// Your code to get Jasperreport objects
JasperReport jasperReportReport1 = JasperCompileManager.compileReport(jasperDesignReport1);
jasperPrints.add(jasperReportReport1);
JasperReport jasperReportReport2 = JasperCompileManager.compileReport(jasperDesignReport2);
jasperPrints.add(jasperReportReport2);
JasperReport jasperReportReport3 = JasperCompileManager.compileReport(jasperDesignReport3);
jasperPrints.add(jasperReportReport3);

JRpdfExporter exporter = new JRpdfExporter();
//Create new fiLeoutputStream or you can use http Servlet Response.getoutputStream() to get Servlet output stream
// Or if you want bytes create ByteArrayOutputStream
ByteArrayOutputStream out = new ByteArrayOutputStream();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_List, jasperPrints);
exporter.setParameter(JRExporterParameter.oUTPUT_STREAM, out);
exporter.exportReport();
byte[] bytes = out.toByteArray();

解决方法

@H_450_11@

我有一个带有下拉菜单的Web应用程序,用户可以从中选择报表的类型。report1,report2,report3等。

基于所选的报告,Jasper报告将在服务器上编译并以PDF格式作为弹出窗口打开。

在服务器端,我使用下面的代码(例如对于report1)使用一种单独的方法来实现每个报告:

JRBeanCollectionDatasource report1Datasource = new JRBeanCollectionDatasource(resultSetBeanListReport1);

InputStream inputStreamReport1 = new FileInputStream(request.getSession().getServletContext ().getRealPath(jrxmlFilePath + "report1.jrxml"));

JasperDesign jasperDesignReport1 = JRXmlLoader.load(inputStreamReport1);

JasperReport jasperReportReport1 = JasperCompileManager.compileReport(jasperDesignReport1);

bytes = JasperRunManager.runReportToPdf(jasperReportReport1,titleMapReport1,report1DatasourcE);

同样,report2在具有以下代码的单独方法中:

JRBeanCollectionDatasource invstSummDatasource = new JRBeanCollectionDatasource(resultSetBeanLisTinvstOfSumm);

InputStream inputStreamInvstSumm = new FileInputStream(request.getSession().getServletContext().getRealPath(jrxmlFilePath + "investSumMary.jrxml"));

JasperDesign jasperDesignInvstSumm = JRXmlLoader.load(inputStreamInvstSumm);

JasperReport jasperReporTinvstSumm = JasperCompileManager.compileReport(jasperDesignInvstSumm);

bytes = JasperRunManager.runReportToPdf(jasperReporTinvstSumm,titleMapInvstSumm,invstSummDatasourcE);

现在,我有一个要求,如果从下拉列表中选择了report1,则生成的PDF应该在同一PDF中一个接一个地包含所有报告。

如何结合以上两行代码最终生成单个PDF?

大佬总结

以上是大佬教程为你收集整理的合并两个Jasper报告全部内容,希望文章能够帮你解决合并两个Jasper报告所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。