我使用的是最新版本的DynamicReports,我收到以下错误:
Loading XML bean definitions from URL [jar:file:/home/diego.queres/Desenv/Java/Projetos%20Java/VAGAS/ProcessadorRelatoriosJasper/dist/run4454548/lib/dynamicreports-examples-4.1.1.jar!/net/sf/dynamicreports/examples/genericelement/openflashchart/openflashchart.xml]
java.lang.NoSuchFieldError: ELEMENT_GROUP_HEIGHT
at net.sf.dynamicreports.jasper.transformation.ConstantTransform.stretchType(ConstantTransform.java:1072)
at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:190)
at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:116)
at net.sf.dynamicreports.jasper.transformation.ComponentTransform.list(ComponentTransform.java:248)
at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:112)
at net.sf.dynamicreports.jasper.transformation.BandTransform.band(BandTransform.java:132)
at net.sf.dynamicreports.jasper.transformation.BandTransform.transform(BandTransform.java:58)
at net.sf.dynamicreports.jasper.transformation.JasperTransform.transform(JasperTransform.java:81)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperReportDesign(JasperReportBuilder.java:269)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.getJasperParameters(JasperReportBuilder.java:296)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperPrint(JasperReportBuilder.java:307)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.export(JasperReportBuilder.java:634)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toXlsx(JasperReportBuilder.java:607)
当我拨打JasperReportBuilder.toXlsx()
时会发生此错误。
我的源代码:
JasperReportBuilder report = report();
List<TextColumnBuilder> lsColumns = getDRColumnsFromRecordset(rs);
for (TextColumnBuilder tcbColumn : lsColumns) {
report.addColumn(tcbColumn);
}
report.title(cmp.text("Title"));
report.pageFooter(cmp.pageXofY());
report.ignorePageWidth();
report.ignorePagination();
report.setDataSource(rs);
report.toXlsx(xlsxExporter); //throw error in this line
答案 0 :(得分:1)
我发现了问题的解决方案。在多次测试动态报告的依赖关系后,我可以得到解决方案。
我在我的应用程序中使用JasperReports 6.1.0。它从Jasper模板(jrxml)生成报告。我决定使用动态报告添加资源以生成没有jrxml的报告。
我使用动态报告的版本是版本4.1.1,最新版本。我查看了所有版本(可在Source Forge上找到:https://sourceforge.net/projects/dynamicreports/files/dynamicreports),并意识到此版本使用JasperReports版本6.2.2。 所以我尝试了一个动态报告版本,默认使用JasperReports 6.1.0。 :动态报告版本4.0.1。
现在它正在运作!
我们可以从中学到的是:检查动态报告使用的JasperReports版本非常重要,因此不存在不兼容问题。