我正在使用IReport处理Jasper Reports。 我想将金额转换为1500到一千五百的单词。 我从数据库中检索数字并将其打印在报告上。最后,我希望将最终值转换为Words。 Jasper Reports中是否有任何方法可以做到这一点。我找到了一个Java类来做到这一点。如果Jasper报告中有任何方法,如何从jasper报告中调用Java方法将数字转换为字母
请尽快帮忙。它有点紧急
由于
最诚挚的问候,
穆贾希德
答案 0 :(得分:0)
没有。 JasperReports中没有这样的方法。
我认为您必须在Java中计算“最终值”,将其转换并将其作为参数传递给报告。
答案 1 :(得分:0)
您可以使用 scriptlet 来解决您的问题。样本为here和here。
样本:
public class ReportScriptlet extends net.sf.jasperreports.engine.JRDefaultScriptlet
public static String convertIntToWords(int value) {
IConverter converter = new ConverterImpl(value);
return converter.convert();
}
}
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" ...
scriptletClass="package.ReportScriptlet">
...
<textFieldExpression><![CDATA[$P{REPORT_SCRIPTLET}.convertIntToWords($F{sum})]]></textFieldExpression>