Çalışma Kitabının Formül Hesaplamasını Durdurun veya İptal Edin

Olası Kullanım Senaryoları

Aspose.Cells, çalışma kitabının interrupt() yöntemini kullanarak çalışma kitabının formül hesaplamasını kesmek veya iptal etmek için bir mekanizma sağlar.ÖzetHesaplamaMonitör sınıf. Bu, çalışma kitabının formül hesaplaması çok zaman aldığında ve işlenmesini iptal etmek istediğinizde kullanışlıdır.

Çalışma Kitabının Formül Hesaplamasını Durdurun veya İptal Edin

Aşağıdaki örnek kod,önceHesapla() yöntemiÖzetHesaplamaMonitörsınıf. Bu metot içerisinde satır ve sütun indeks parametrelerini kullanarak hücre adını bulur. Hücre adı B8 ise, AbstractCalculationMonitor.interrupt() yöntemini çağırarak hesaplama işlemini yarıda keser. Bir kez, somut sınıfÖzetHesaplamaMonitörsınıf uygulanır, örneği şuna atanır:CalculationOptions.CalculationMonitorEmlak. Nihayet,Workbook.calculateFormula() geçerek çağrılırHesaplama Seçenekleriparametre olarak. Lütfen bkzörnek excel dosyasıkodun içinde ve ayrıca referans olarak aşağıda verilen kodun konsol çıktısında kullanılır.

Basit kod

// 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);
}

Konsol Çıkışı

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

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

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