小编csa*_*bee的帖子

JasperReports:未找到CONCATENATE函数

我正在使用Jaspersoft Studio开发一些报告.
我有一个应该接受REST查询的Web应用程序,并将它们转换为已编译的报告.
所以我有一些JasperReports罐子包括:

  • Groovy的全2.0.1.jar
  • iText的,2.1.7.js2.jar
  • JasperReports的-5.2.0.jar

问题是,当我编译我的报告并从Jaspersoft Studio运行时,它运行正常.
但是当我从我的Web应用程序编译并运行它时,它会抛出异常:

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
    Source text : CONCATENATE($V{startString}, "  -  ", $V{endString})
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:244)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
...
Caused by: net.sf.jasperreports.engine.JRRuntimeException: Function CONCATENATE not found
Run Code Online (Sandbox Code Playgroud)

当我CONCATENATE在报告中更改我的呼叫时,它工作正常.

所以这给我留下了一个解决方案,我错过了一个JasperReports罐子,但是哪个?

java groovy jasper-reports

8
推荐指数
1
解决办法
6017
查看次数

Jasper Reports - 从JSON解析Double值

我在Jaspersoft Studio中使用Jasper Reports 6.0.1.

我有一个包含子报告的报告.子报表正确地从主报表获取数据集,其值为: - string - double

我在报告中正确显示double值时遇到问题.所以Json包含的值如下:

'doubleValue':'0.431'

字段'doubleValue'在子报表中正确定义:

<field name="doubleValue" class="java.lang.Double">
    <fieldDescription><![CDATA[doubleValue]]></fieldDescription>
</field>
Run Code Online (Sandbox Code Playgroud)

并且'doubleValue'似乎在报告中正确使用:

<textField pattern="#0.00">
                <reportElement x="690" y="0" width="75" height="30" uuid="d265ebec-6fa7-421e-8d58-c7f2d32eea6b">
                    <property name="com.jaspersoft.studio.unit.width" value="px"/>
                </reportElement>
                <box>
                    <topPen lineWidth="0.1"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement>
                    <font size="9"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{doubleValue}]]></textFieldExpression>
            </textField>
Run Code Online (Sandbox Code Playgroud)

doubleValue似乎在输出中正确格式化:'3.00'

但是:字段值的来源是3.41.所以我深入检查了这些值,无论小数分隔符后面是什么,所有值都被格式化为'x.00'.

请帮帮我,我做错了什么?

我需要正确导出到XLSX数据(所以它知道有在单元格中的数字),而我使用这个以下选项:

<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
Run Code Online (Sandbox Code Playgroud)

double json jasper-reports number-formatting

4
推荐指数
1
解决办法
864
查看次数

标签 统计

jasper-reports ×2

double ×1

groovy ×1

java ×1

json ×1

number-formatting ×1