Interrompre ou annuler le calcul de la formule du classeur
Scénarios d’utilisation possibles
Aspose.Cells fournit un mécanisme pour interrompre ou annuler le calcul de la formule du classeur à l’aide de laAbstractCalculationMonitor.Interrupt()méthode. Ceci est utile lorsque le calcul de la formule du classeur prend trop de temps et que vous souhaitez annuler son traitement.
Interrompre ou annuler le calcul de la formule du classeur
L’exemple de code suivant implémente leAvantCalcul()méthode deRésuméCalculMoniteur classe. Dans cette méthode, il trouve le nom de la cellule à l’aide des 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 leAbstractCalculationMonitor.Interrupt()méthode. Autrefois, la classe concrète deRésuméCalculMoniteurclasse est implémentée, son instance est affectée àCalculationOptions.CalculationMonitorla propriété. Pour terminer,Workbook.CalculateFormula()s’appelle en passantOptions de calcul comme paramètre. Veuillez consulter leexemple de fichier Excelutilisé à l’intérieur du code ainsi que la sortie console du code donné ci-dessous pour référence.
Exemple de code
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
class InterruptOrCancelFormulaCalculationOfWorkbook | |
{ | |
//Implement calculation monitor class | |
class clsCalculationMonitor : AbstractCalculationMonitor | |
{ | |
public override 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.Diagnostics.Debug.WriteLine(sheetIndex + "----" + rowIndex + "----" + colIndex + "----" + cellName); | |
//If cell name is B8, interrupt/cancel the formula calculation | |
if (cellName == "B8") | |
{ | |
this.Interrupt("Interrupt/Cancel the formula calculation"); | |
}//if | |
}//BeforeCalculate | |
}//clsCalculationMonitor | |
public static void Run() | |
{ | |
//Load the sample Excel file | |
Workbook wb = new Workbook("sampleCalculationMonitor.xlsx"); | |
//Create calculation options and assign instance of calculation monitor class | |
CalculationOptions opts = new CalculationOptions(); | |
opts.CalculationMonitor = new clsCalculationMonitor(); | |
//Calculate formula with calculation options | |
wb.CalculateFormula(opts); | |
} | |
} |
Sortie console
0----1----3----D2
0----4----6----G5
0----7----1----B8