使用 JRBeanCollectionDataSource 创建 Jasper 报告(PDF、Excel、Csv)时没问题。这意味着 .jrxml 文件接受 pojo 的集合作为处理报告的输入。
现在,我一直在尝试使用相同的 .jrxml 但来自 JSON 对象来创建 jasper 报告。我尝试了以下操作,但 pdf 报告中的所有值均为空
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:reports/project.jrxml");
JsonDataSource ds = new JsonDataSource(new File("c:\myjson.json"));
jasperDesign = JRXmlLoader.load(resource.getInputStream());
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
JasperExportManager.exportReportToPdfFile(jasperPrint, destination+fileName+".pdf");
谁能帮我?
原文由 Peer Mohamed 发布,翻译遵循 CC BY-SA 4.0 许可协议
我一直在努力使用 JSON 作为 Jasper 报告的数据源,并且由于网络上缺乏像样的示例,我想我会在此处发布以供将来参考。
这个例子是如何使用 iReport Designer 和一个 JSON 数据源。
首先,输入JSON:
然后在 iReport Designer 中创建一个 JSON 数据源并将其指向您的文件(将所有其他细节保留为默认值)
接下来,您可以使用以下 jrxml 模板将上述 JSON 呈现为报告:
注意: 您必须首先定义字段元素,然后才能使用它们。它们应该是使用标准点表示法从 JSON 输入文件的根开始的 JSON 路径。有关示例,请参见上面的 fieldDescription 元素。
定义字段后,您可以在文本字段或其他任何地方使用其计算值:
希望对某些人有所帮助。