Jasper reports 如何转换存储为文本的数字:使用Jrxml/jasper

Jasper reports 如何转换存储为文本的数字:使用Jrxml/jasper,jasper-reports,regex,Jasper Reports,Regex,我使用jrxml jasper将我的内容导出到.xls文件。我有一个名为PollutantQuantity的文件,它作为字符串保存在DB中 我正在获取相同的值并将这些值赋给.jrxml。我可以看到正确填充的值没有任何问题。现在,我的客户希望直接从导出的工作表执行一些求和,乘法功能 在这种情况下,由于是作为文本呈现的,所以我不能进行任何manipultaion 我的Jrxml代码片段如下 <property name="net.sf.jasperreports.export.detect.c

我使用jrxml jasper将我的内容导出到.xls文件。我有一个名为
PollutantQuantity
的文件,它作为字符串保存在DB中

我正在获取相同的值并将这些值赋给.jrxml。我可以看到正确填充的值没有任何问题。现在,我的客户希望直接从导出的工作表执行一些
求和
乘法
功能

在这种情况下,由于是作为文本呈现的,所以我不能进行任何manipultaion

我的Jrxml代码片段如下

<property name="net.sf.jasperreports.export.detect.cell.type" value="true"/>
<field name="pollutantQty" class="java.lang.String" />
<textField>    
  <reportElement x="0" y="0" width="100" height="20" isRemoveLineWhenBlank="true" />
<box leftPadding="10"><pen lineColor="#000000" /><topPen lineWidth="0.5" /><leftPen lineWidth="0.5" /><bottomPen lineWidth="0.5" /><rightPen lineWidth="0.5" />
  </box>                                    
  <textFieldExpression ><![CDATA[$F{pollutantQty}]]></textFieldExpression>
</textField>

我正在使用属性字段,并且我的字段emissionQty被声明为字符串。如何将其转换为excel输出中的排放量
解释为数字。

将字段定义为数字
java.lang.Double

<field name="pollutantQty" class="java.lang.Double" />

或者,作为建议解决方案的额外说明,在
textFieldExpression
中使用if语句-如果您已经在处理数字字段(在我的示例中是java.math.BigDecimal),并且无法在生成的excel文件(SUM)中使用计算函数-请检查JRXML文件,看看它是否包含以下属性:

<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>


OP有属性,但字符串中不包含xls。

大家好,如果您有任何解决方案,请大家发布。Petter,下面的解决方案有效,谢谢分享
<textFieldExpression><![CDATA[Double.parseDouble($F{pollutantQty})]]></textFieldExpression>
<printWhenExpression><![CDATA[$F{pollutantQty}.matches("-?\\d+(\\.\\d+)?")]]></printWhenExpression>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>