gpt4 book ai didi

java - Jasper API 仅打印第一个报告,其他报告打印为空白

转载 作者:太空宇宙 更新时间:2023-11-04 09:38:07 25 4
gpt4 key购买 nike

我们正在使用 jasper API(JasperFillManager.fillReport、JasperExportManager.exportReportToPdfFile)

我们希望使用不同的参数在循环中执行该报告,因此添加了以下代码

    JasperPrint jasperPrint = null;
// Fill report
Iterator i1 = l1.iterator();
Iterator i2 = l2.iterator();
int i = 1;
while (i1.hasNext() && i2.hasNext()) {
parameters.put("SUBJECTOID", (String) i1.next());
parameters.put("HISTORYRECORD", (String) i2.next());
try (ProfilePoint fillReport = ProfilePoint
.profileAction("ProfAction_ReportHelper_fillJasperReport")) {
jasperReport = JasperCompileManager.compileReport(jrxmlPath);

jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, emptyDataSource);
System.out.println("fillReport**********" + i);

}

// Export to PDF
try (ProfilePoint exportReport = ProfilePoint
.profileAction("ProfAction_ReportHelper_exportJasperReport")) {
JasperExportManager.exportReportToPdfFile(jasperPrint,
"C:\\JASPER\\JASPEROUTPUT\\Report" + i + ".pdf");
System.out.println("exportReportToPdfFile**********" + i);
}
i++;
jasperPrint = null;
jasperReport = null;

那么我们有 15 个参数,因此生成了 15 个 PDF 文件,但只有第一个 PDF 文件包含数据,其他 14 个是空白。

我们尝试了多种方法,例如编译一次、编译多次、将 jasper 代码提取到方法中,但结果仍然相同

jasper 中是否有任何缓存或某种设置或类似的东西?

最佳答案

谢谢@dada67寻求建议,它有效

我为每次迭代传递了新的空数据源并且它起作用了。

非常感谢..!!!

关于java - Jasper API 仅打印第一个报告,其他报告打印为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com