Interrompre ou annuler le calcul de formule du classeur
Scénarios d’utilisation possibles
Aspose.Cells fournit un mécanisme pour interrompre ou annuler le calcul de formule du classeur en utilisant la méthode interrupt() de la classe AbstractCalculationMonitor. Cela est utile lorsque le calcul de formule du classeur prend trop de temps et que vous souhaitez annuler son traitement.
Interrompre ou annuler le calcul de formule du classeur
Le code d’exemple suivant implémente la méthode beforeCalculate() de la classe AbstractCalculationMonitor. À l’intérieur de cette méthode, il trouve le nom de la cellule en utilisant les paramètres d’index de ligne et de colonne. Si le nom de la cellule est B8, il interrompt le processus de calcul en appelant la méthode AbstractCalculationMonitor.interrupt(). Une fois que la classe concrète de la classe AbstractCalculationMonitor est implémentée, son instance est attribuée à la propriété CalculationOptions.CalculationMonitor. Enfin, Workbook.calculateFormula() est appelé en passant CalculationOptions en tant que paramètre. Veuillez consulter le fichier Excel d’exemple utilisé dans le code ainsi que la sortie de la console du code ci-dessous pour référence.
Code d’exemple
// 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); | |
} |
Sortie console
0----1----3----D2
0----4----6----G5
0----7----1----B8