Hücre.Calculate yönteminin Hesaplama Zamanını Düşürme
Olası Kullanım Senaryoları
Genellikle, kullanıcıların Workbook.CalculateFormula() yöntemini bir kez çağırmalarını ve ardından bireysel hücrelerin hesaplanan değerlerini almalarını öneririz. Ancak bazen kullanıcılar tüm çalışma kitabını değil, sadece bir hücreyi hesaplamak isteyebilir. Aspose.Cells, CalculationOptions.Recursive özelliğini sağlar ve bunu false olarak ayarlayabilirsiniz, bu da bireysel hücrenin hesaplama süresini önemli ölçüde azaltır. Çünkü recursive özellik true olarak ayarlandığında, tüm bağımlı hücreler her çağrıda yeniden hesaplanır. Ancak recursive false olarak ayarlandığında, bağımlı hücreler yalnızca bir kez hesaplanır ve sonraki çağrılarda yeniden hesaplanmaz.
Hücre.Calculate() Yönteminin Hesaplama Zamanını Azaltma
Aşağıdaki örnek kod, CalculationOptions.Recursive özelliğinin kullanımını göstermektedir. Lütfen bu kodu verilen örnek excel dosyası ile çalıştırın ve konsol çıktısını kontrol edin. false olarak recursive özelliğini ayarladıktan sonra hesaplama süresinin önemli ölçüde azaldığını göreceksiniz. Lütfen bu özelliğin daha iyi anlaşılması için yorumları da okuyun.
Konsol Çıktısı
Yukarıdaki örnek kodun verilen örnek excel dosyası ile çalıştırıldığında konsol çıktısı budur. Lütfen dikkat edin, kendi çıktınız farklı olabilir ancak recursive özelliğini false olarak ayarladıktan sonra geçen süre her zaman true olarak ayarlamaktan daha az olacaktır.
Recursive true: 51 seconds
Recursive false: 16 seconds