Interrumpir o cancelar el cálculo de fórmulas del libro de trabajo
Posibles escenarios de uso
Aspose.Cells proporciona un mecanismo para interrumpir o cancelar el cálculo de la fórmula del libro utilizando el método interrupt() delResumenCálculoMonitor clase. Esto es útil cuando el cálculo de la fórmula del libro de trabajo lleva demasiado tiempo y desea cancelar su procesamiento.
Interrumpir o cancelar el cálculo de fórmulas del libro de trabajo
El siguiente código de ejemplo implementa elantes de Calcular () método de laResumenCálculoMonitorclase. Dentro de este método, encuentra el nombre de la celda usando parámetros de índice de fila y columna. Si el nombre de la celda es B8, interrumpe el proceso de cálculo llamando al método AbstractCalculationMonitor.interrupt(). Una vez, la clase concreta deResumenCálculoMonitorse implementa la clase, su instancia se asigna aCalculationOptions.CalculationMonitorpropiedad. Finalmente,Workbook.calculateFormula() se llama pasandoOpciones de cálculocomo parámetro. Por favor vea elejemplo de archivo de Excelutilizado dentro del código, así como la salida de la consola del código que se proporciona a continuación como referencia.
Código de muestra
// 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); | |
} |
Salida de consola
0----1----3----D2
0----4----6----G5
0----7----1----B8