我在表格的单元格中使用Jasper内置SUM函数。 它应该总结其他单元格的内容(在示例中我使用单个单元格,但输出几乎相同添加多个单元格。)
jrxml是:
<jr:column width="49" uuid="e6595bc8-b46e-4bbe-85a2-7ea9526fce83">
<property name="local_mesure_unitwidth" value="pixel"/>
<jr:columnHeader style="Table 2_CH" height="20">
<staticText>
<reportElement x="2" y="0" width="47" height="20" uuid="af5e8305-5cdf-41ad-b827-80f0ca14771c"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[Nr. Prest.]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell style="Table 2_TD" height="30">
<textField>
<reportElement x="0" y="0" width="49" height="30" uuid="8cc69012-6972-470a-92f4-e735f8d006d8"/>
<textFieldExpression><![CDATA[SUM($F{1})]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
在Jasper Studio中工作正常,但是当我尝试使用maven插件或使用JasperCompileManager编译报表时,它会返回这些错误
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
1. The method SUM(Integer) is undefined for the type report1_dataset1_1389172627824_411632
value = SUM(((java.lang.Integer)field_j49.getValue())); //$JR_EXPR_ID=41$
<->
2. The method SUM(Integer) is undefined for the type report1_dataset1_1389172627824_411632
value = SUM(((java.lang.Integer)field_j49.getOldValue())); //$JR_EXPR_ID=41$
<->
3. The method SUM(Integer) is undefined for the type report1_dataset1_1389172627824_411632
value = SUM(((java.lang.Integer)field_j49.getValue())); //$JR_EXPR_ID=41$
<->
3 errors
net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:204)
net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:241)
我升级到最新的Jasper版本(5.5.0)但结果是一样的。
答案 0 :(得分:0)
变化
<field name="1" class="java.lang.Integer"/>
到
<field name="one" class="java.lang.Integer"/>
并将表达式指定为
<textFieldExpression><![CDATA[SUM($F{one})]]></textFieldExpression>
答案 1 :(得分:0)
我解决了将报告语言从Java更改为Javascript的编译问题:
<jasperReport ... name="report_name" language="javascript" ...>
答案 2 :(得分:0)
来自[jaspersoft download] [1]
[1]:http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases/net/sf/jasperreports/jasperreports-functions/5.5.0/下载jasperreports-functions-5.5.0.jar并将其放在类路径中。