繁体   English   中英

如何在Java代码中访问JasperReports的变量?

[英]How can I access JasperReports's variables in Java code?

我想从Java代码中的JasperReports访问变量。 更具体地说,填写报告后,我需要在我的Java代码中知道REPORT_COUNT和SUBREPORT_COUNT。 我尝试将其设置为属性,但这不起作用。

报告已排定,如果没有数据,我不想发送电子邮件。 我尝试将“何时无数据”设置为“打印0页”,然后检查Java代码中的页数。 如果仅在主报表或子报表中存在数据,则此方法不起作用。 如果主报表或子报表都没有数据,我希望它打印0页。

我敢肯定这已经被问到了,但是我找不到我真正需要的东西。 如果有人能指出我正确的方向,将不胜感激。

请尝试以下操作:

JasperReport jasperReport = (JasperReport) JRLoader.loadObject("path/to/your.jasper");

// prior to version 4.6.0, you should use JRFiller.createFiller(jasperReport)
JRFiller.createFiller(DefaultJasperReportsContext.getInstance(), jasperReport);

JasperPrint print = filler.fill(yourParameterMap, yourDatasource);

Object value = filler.getVariableValue(variableName); // here's what you need

请注意,您将无法再使用JasperFillManager.fillReport

@brunobastosg如果我们有报告返回一行包含所有空字段且data_found为0的行,则此方法将不起作用,在这种情况下,您无法确定它是否真的没有数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM