Cell.Calculateメソッドの計算時間の短縮

可能な使用シナリオ

通常、私たちはユーザーにWorkbook.CalculateFormula() メソッドを1回呼び出してから個々のセルの計算値を取得することをお勧めしています。しかし、時々、ユーザーはワークブック全体を計算したくないことがあります。彼らは単に単一のセルを計算したいだけです。Aspose.CellsはCalculationOptions.Recursive プロパティを提供しており、それをfalseに設定すると、個別のセルの計算時間が著しく短縮されます。なぜなら、recursiveプロパティがtrueに設定されていると、依存セルは各呼び出しで再計算されるからです。しかし、recursiveプロパティがfalseに設定されていると、依存セルは1回だけ計算され、後続の呼び出しで再計算されません。

Cell.Calculate() メソッドの計算時間を短縮する

次のサンプルコードはCalculationOptions.Recursive プロパティの使用例を示しています。このコードを指定されたサンプルエクセルファイルと一緒に実行して、そのコンソール出力を確認してください。recursiveプロパティをfalseに設定すると、計算時間が著しく減少していることが分かります。このプロパティの理解を深めるために、コメントもお読みください。

コンソール出力

これは上記のサンプルコードを私たちの機械で指定されたサンプルエクセルファイルで実行したときのコンソール出力です。ご注意ください、出力は異なる場合がありますが、recursiveプロパティをfalseに設定した後の経過時間は常にtrueに設定した場合よりも短くなります。

 Recursive true: 51 seconds

Recursive false: 16 seconds