1

彼らのドキュメントによると、GemBox.Spreadsheet は数式を読み書きできますが、数式の結果を計算することはできません。MS Excel で XLS ファイルを開くと、数式の結果が自動的に計算されます。

したがって、注入された値を含むスプレッドシートを作成し、それをディスクに保存すると、ファイルを Excel で開くと、計算された値が表示されます。

そのファイルをgemboxで開き、計算されたセルの値を調べると、0の結果が得られます

同じ機能が flexcel にも存在します..指定されたセルから計算値を取得できません..ゼロを返します..

だから私がやっていることは次のとおりです。

  1. 既存のエクセルファイルを開く
  2. いくつかのセルにいくつかの数字を入れる
  3. ファイルを別の名前でディスクに保存します(同じファイルでも試しました)
  4. ファイルを再度開き、計算セルである合計列を調べます

値は常に 0 です。ファイルを Excel で開きます。値は期待どおりに計算されます。

4

2 に答える 2

5

EDIT 28-09-2016:
セル数式計算のサポートを実装した新しいバージョンの GemBox.Spreadsheet (バージョン 4.1) をリリースしました。バージョン履歴ページを参照してください
また、計算例はこちらでご覧いただけます

元の回答GemBox.Spreadsheet
は現在、Excel によって計算された値のみをサポートしています (そのため、ファイルが MS Excel によって保存されている場合は、数式の値を読み取ることができます)。GemBox.Spreadsheet には独自の計算エンジンがありません。

式の値をXLS形式で読み取るには、列挙ExcelFile.LoadXlsを受け入れるオーバーロードを使用し、 orを使用します。XlsOptionsXlsOptions.PreserveWorksheetRecordsXlsOptions.PreserveAll

式の値をXLSX形式で読み取るには、ExcelFile.LoadXlsxメソッドをXlsxOptions列挙値XlsxOptions.PreserveKeepOpenまたはで使用しますXlsxOptions.PreserveMakeCopy

于 2011-12-07T09:27:46.707 に答える
1

あなたの実際の質問は何ですか?

セルには、値と数式という 2 つのプロパティがあります。表示されているのは、その場で Excel によって再計算された値です。あなたが言ったように、Gemboxは値を再計算しません。

式の評価が必要な場合は、 Apache POIなどの別のライブラリを探してください。

于 2011-12-06T07:46:17.750 に答える