2016-05-26 3 views
0

のSAXパーサーを使用。 しかし、このアプローチにはフォーミュラセルに制限があるようです。それは 'キャッシュされた数式の値'から値を読み取るようです。 更新値を更新するための再計算をトリガーする最適なソリューションが見つかりません。 誰も同じ問題に直面していますか?ありがとう。式の再評価が潜在的に式がそれらを参照することができ、任意のシート内の任意のセルへのランダムアクセスを持っている必要がありますよう再評価式計算セル、我々は巨大なの.xlsxファイルをエクセル読み取るためのApache POIのSAXパーサーのアプローチを使用しているApacheの-ポイため、メモリ懸念の

+0

? – Gagravarr

+0

何らかの理由で、式セルの値が再計算するトリガーではありません。それから、私たちが得たものは古い価値であり、最新ではありません。 Excelアプリケーションでさえ、開くときに再計算を強制するオプションがあります。別の例は、apache poiのドキュメントに記載されています:http://poi.apache.org/spreadsheet/eval.html(数式の再計算) – neojh

答えて

1

このための一般的な解決策は、非常に難しいだろうSAXを使用しているときに行うことができないものです。

可能な可能性のある数式と参照の種類にいくつかの制約がありますが、独自の数式評価ツールを実装することは可能かもしれません。

XSSFWorkbook/XSSFSheet/XSSFRow/XSSFCellクラスに大きく依存する.xlsxの実装については、XSSFFormulaEvaluatorを参照してください。マイクロソフトExcelでファイルにキャッシュされた値と間違って何

関連する問題