GolangをC++経由でセルのCalculateメソッドの計算時間を短縮する
Contents
[
Hide
]
可能な使用シナリオ
通常、ユーザーにはWorkbook.CalculateFormula()メソッドを一度呼び出し、その後個々のセルの計算済み値を取得することを推奨します。しかし、時にはワークブック全体を計算したくない場合もあります。特定のセルだけを計算したい場合、Aspose.CellsはCalculationOptions.GetRecursive()プロパティを提供しており、これを false に設定すると、個々のセルの計算時間を大幅に短縮できます。再帰プロパティがtrueに設定されている場合、すべての依存セルも都度計算されますが、falseに設定すると、依存セルは一度だけ計算され、その後は再計算されません。
Cell.Calculate() メソッドの計算時間を短縮する
以下のサンプルコードは、CalculationOptions.GetRecursive()プロパティの使用例を示しています。このコードをサンプルExcelファイルで実行し、その結果をコンソールで確認してください。再帰プロパティをfalseに設定すると、計算時間が大幅に短縮されることがわかります。プロパティの理解のためにコメントもご参照ください。
コンソール出力
このコードは、指定されたサンプルExcelファイルを使用して実行した場合のコンソール出力例です。出力結果は異なる場合がありますが、再帰プロパティをfalseに設定した後の経過時間は常にtrueに設定した場合より短くなります。
Recursive True: 96 seconds
Recursive False: 42 seconds