Çalışma Kitabının Formül Hesaplama İşlemini Kesme veya İptal Etme
Olası Kullanım Senaryoları
Aspose.Cells, {0} sınıfının {1} sınıfının interrupt() yöntemini kullanarak çalışma kitabının formül hesaplamasını kesmeyi veya iptal etmeyi sağlar. Bu, çalışma kitabının formül hesaplama işlemi çok uzun sürdüğünde ve işlemin iptal edilmesini istediğinizde kullanışlıdır.
Çalışma Kitabının Formül Hesaplamasını Kesmek veya İptal Etmek
Aşağıdaki örnek kod, AbstractCalculationMonitor sınıfının beforeCalculate() yöntemini uygular. Bu yöntemin içinde, satır ve sütun dizini parametreleri kullanılarak hücre adı bulunur. Eğer hücre adı B8 ise, AbstractCalculationMonitor.interrupt() yöntemi çağrılarak hesaplama süreci kesilir. AbstractCalculationMonitor sınıfının somut sınıfı uygulandığında, örneği CalculationOptions.CalculationMonitor özelliğine atanır. Son olarak, Workbook.calculateFormula() de CalculationOptions parametresi geçirilerek çağrılır. Referans için, aşağıdaki kodun konsol çıktısını ve kod içinde kullanılan örnek Excel dosyasını kontrol edin.
Örnek 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 Çıktısı
0----1----3----D2
0----4----6----G5
0----7----1----B8