2

依存関係の階層を持つ多くの数式を含む大きなシートがあります。日付値のセルで始まります。次に、セル x:y (およびその他) には、この日付に応じた式があります。次に、セル w:z (およびその他) には、セル x:y に応じた式があります。等々...

日付値を含むこのメイン セルは、apache poi を使用して入力されます。

そして今、私の問題:生成されたExcelファイルを開くと、日付はありますが、数式は計算されません。すべてにエラー " A value used in the formula is of the wrong data type" があります。式がそれ自体を評価しようとすると、日付はまだないようです。

解決策: 1) セルをクリックして Enter キーを押すだけで、数式が正しく評価されます。しかし、すべてのセルに対してこれを行う必要があります。2) 日付セルをクリックしてコピーし、同じ場所に貼り付けると、シート内のすべての数式が評価されます! 3) アプリケーション内のすべてのセルを繰り返し処理し、FormulaEvaluator クラスの evaluateFormulaCell メソッドで各セルを評価できます。しかし、私は多くの式を持っており、これのパフォーマンスはひどいものです.

誰かがこれに対する解決策を持っていますか?

ありがとう!!

4

3 に答える 3

1

あなたの日付値は、Excel の数式では日付として認識されません。できることは、DATEVALUE()Apache poi を使用して入力されたセルの日付値を最初に取得する別のセルを作成することです。

次に、Apache poi を使用して入力されたセルではなく、最初のレベルの数式をそのセルに向けます。

于 2013-03-13T15:14:52.940 に答える
1

Excel は自動計算をしないので、これを変更するだけです。

Excel 2010: [ファイル] -> [オプション] -> [数式]: [ブックの計算] を見つけて、[自動] に変更します。

それは私のために働いた。

于 2013-09-13T11:59:39.350 に答える
0

これを解決するために、テンプレートのすべての数式を変更し、通常の数式のシンタックス (=SUM(A:D)) の代わりに次のシンタックスを使用しました: $[SUM(A:D)]

http://jxls.sourceforge.net/reference/formulas.html

于 2013-03-26T20:59:35.560 に答える