用JasperReport格式化Excel中的小数点有困难
我做了一个Excel报告,其中包含一些数字格式为##0.#
Double
型TextFields
。
在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的处理将会没有逗号。