ワークブックの数式計算を中断またはキャンセルする

考えられる使用シナリオ

Aspose.Cells は、AbstractCalculationMonitorクラス。これは、ワークブックの数式計算に時間がかかりすぎて処理をキャンセルしたい場合に便利です。

ワークブックの数式計算を中断またはキャンセルする

次のサンプル コードは、beforeCalculate() の方法AbstractCalculationMonitorクラス。このメソッド内で、行と列のインデックス パラメータを使用してセル名を見つけます。セル名が B8 の場合、AbstractCalculationMonitor.interrupt() メソッドを呼び出して計算プロセスを中断します。一度、具体的なクラスAbstractCalculationMonitorクラスが実装され、そのインスタンスが割り当てられますCalculationOptions.CalculationMonitor財産。ついに、Workbook.calculateFormula() を渡すことによって呼び出されます計算オプションパラメータとして。をご覧くださいサンプル Excel ファイル参照用に以下に示すコードのコンソール出力と同様に、コード内で使用されます。

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Implement calculation monitor class
class clsCalculationMonitor extends AbstractCalculationMonitor
{
public void beforeCalculate(int sheetIndex, int rowIndex, int colIndex)
{
//Find the cell name
String cellName = CellsHelper.cellIndexToName(rowIndex, colIndex);
//Print the sheet, row and column index as well as cell name
System.out.println(sheetIndex + "----" + rowIndex + "----" + colIndex + "----" + cellName);
//If cell name is B8, interrupt/cancel the formula calculation
if (cellName.equals("B8") == true)
{
this.interrupt("Interrupt/Cancel the formula calculation");
}//if
}//beforeCalculate
}//clsCalculationMonitor
//---------------------------------------------------------
//---------------------------------------------------------
public void Run() throws Exception
{
//Load the sample Excel file
Workbook wb = new Workbook(srcDir + "sampleCalculationMonitor.xlsx");
//Create calculation options and assign instance of calculation monitor class
CalculationOptions opts = new CalculationOptions();
opts.setCalculationMonitor(new clsCalculationMonitor());
//Calculate formula with calculation options
wb.calculateFormula(opts);
}

コンソール出力

0----1----3----D2

0----4----6----G5

0----7----1----B8