在Jasper报告中将数字转换为字母

时间:2011-11-02 05:15:37

标签: java jasper-reports ireport

我正在使用IReport处理Jasper Reports。 我想将金额转换为1500到一千五百的单词。 我从数据库中检索数字并将其打印在报告上。最后,我希望将最终值转换为Words。 Jasper Reports中是否有任何方法可以做到这一点。我找到了一个Java类来做到这一点。如果Jasper报告中有任何方法,如何从jasper报告中调用Java方法将数字转换为字母

请尽快帮忙。它有点紧急

由于

最诚挚的问候,

穆贾希德

2 个答案:

答案 0 :(得分:0)

没有。 JasperReports中没有这样的方法。

我认为您必须在Java中计算“最终值”,将其转换并将其作为参数传递给报告。

答案 1 :(得分:0)

您可以使用 scriptlet 来解决您的问题。样本为herehere

样本:

  • scriptlet类扩展JRDefaultScriptlet

    public class ReportScriptlet extends net.sf.jasperreports.engine.JRDefaultScriptlet 
    
        public static String convertIntToWords(int value) {
    
            IConverter converter = new ConverterImpl(value);
    
            return converter.convert();
        }
    }
    

  • 在报告中设置scriptlet及其用法:

    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" ...
    scriptletClass="package.ReportScriptlet">  
    
    ...
    
       <textFieldExpression><![CDATA[$P{REPORT_SCRIPTLET}.convertIntToWords($F{sum})]]></textFieldExpression>