用JasperReport格式化Excel中的小数点有困难

我做了一个Excel报告,其中包含一些数字格式为##0.# DoubleTextFields

在OpenOffice中,这些单元格格式正确(这正是我所需要的)

  • 1.56 – > 1.6
  • 0.0 – > 0

但是,当我用Microsoft Excel打开报表时,小数点并没有像我所指出的那样消失。

  • 1.56 – > 1.6
  • 0.0 – > 0。

经过一番search之后,我在Excel中发现了一个关于数字格式的文章。

Excel格式的数字可选小数位

我尝试了[=0]0;.#而不是postbuild议。 但Excel抱怨我的手机号码格式坏了。

我的问题是:我应该在JasperReport中使用什么模式,所以Excel不会显示结尾的小数点?

更新 :我只是找出在链接描述的模式不解决所有情况下,它只匹配0,而不是1.0,2.0 …等

您可以尝试使用net.sf.jasperreports.export.xls.formula属性。

例子:

 <textField pattern="##0.#"> <reportElement x="0" y="0" width="100" height="20"> <property name="net.sf.jasperreports.export.xls.formula" value="[=0]0;##0,#"/> </reportElement> <textElement/> <textFieldExpression><![CDATA[$F{sum}]]></textFieldExpression> </textField> 

在我的情况下,逗号( , )是我的操作系统中的分隔符。

有关net.sf.jasperreports.export.xls.formula属性的信息,您可以在这里find。

作为解决方法,您可以在此字段中粘贴以下代码:

 new DecimalFormat("0.##").format($F{bigdecValue}) 

所以,如果thera是trailinig零,xls的处理将会没有逗号。