Interrompere o annullare il calcolo della formula della cartella di lavoro
Possibili scenari di utilizzo
Aspose.Cells fornisce un meccanismo per interrompere o annullare il calcolo della formula della cartella di lavoro utilizzando il metodo interrupt() delAbstractCalculationMonitor classe. Ciò è utile quando il calcolo della formula della cartella di lavoro richiede troppo tempo e si desidera annullarne l’elaborazione.
Interrompere o annullare il calcolo della formula della cartella di lavoro
Il codice di esempio seguente implementa ilprimaCalcola() metodo delAbstractCalculationMonitorclasse. All’interno di questo metodo, trova il nome della cella utilizzando i parametri dell’indice di riga e colonna. Se il nome della cella è B8, interrompe il processo di calcolo chiamando il metodo AbstractCalculationMonitor.interrupt(). Una volta, la classe concreta diAbstractCalculationMonitorclass è implementata, la sua istanza è assegnata aCalculationOptions.CalculationMonitorproprietà. Infine,Workbook.calculateFormula() è chiamato passandoOpzioni di calcolocome parametro. Si prega di consultare ilesempio di file Excelutilizzato all’interno del codice così come l’output della console del codice indicato di seguito per riferimento.
Codice d’esempio
// 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); | |
} |
Uscita console
0----1----3----D2
0----4----6----G5
0----7----1----B8