2011-12-30 6 views
2

とのトラブルExcelのフォーマット小数点を持つ私は、OpenOfficeのは、数値書式パターン##0.#はJasperReport

といくつかDoubleタイプTextFieldsを含むExcelレポートを、作られた、これらの細胞は、(私が必要まさにされている)が正しくフォーマットされている

しかし> 0

、場合I -

  • 1.56 - > 1.6
  • 0.0 Microsoft Excelでレポートを開いたとき、小数点は私が予想したように消えませんでした。

    • 1.56 - > 1.6
    • 0.0 - いくつかの検索後>

    、私はExcelで数値の書式についての記事を見つけました。

    In Excel format number with optional decimal places

    ポストが示唆したように私の代わりに[=0]0;.#を試してみました。しかし、Excelは私のセル番号の形式について苦情が壊れていると不平を言う。

    私の質問は、JasperReportでどのようなパターンを使用すればよいのでしょうか?Excelは末尾の小数点を表示しませんか?

    UPDATE:私はすべてのケースを解決していない線量リンクで説明したパターンを見つける、それが一致するだけで0ではなく、1.0、2.0 ...など

+0

Excelで正しい形式を見つけましたか? –

+0

いいえ、私はExcelで必要な数値フォーマットを作ることさえできません。Excelはこのような形式をサポートしていません。 –

+0

どのExcel(バージョン)を使用していますか? –

答えて

1

あなたが使用しようとすることができ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> 

カンマ(,は)私のOSで区切りです。あなたがhereを見つけることができます

情報についてnet.sf.jasperreports.export.xls.formulaプロパティ。

+0

ありがとうございました。しかし、私はちょうど私のリンクに記載されたパターン[= 0] 0、## 0.# 'がすべてのケースを解決するわけではなく、1.0、2.0 ...などではなく0にマッチすることに気付きました。 –

1

としては、あなたがフィールドにこのコードを貼り付けて回避:

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

セラはゼロをtrailinigしているのであれば、XLSの処理はカンマなしになります。

関連する問題