Golang ile C++ kullanarak Cell.Calculate metodunun Hesaplama Süresini Azaltma
Olası Kullanım Senaryoları
Normalde, kullanıcıların Workbook.CalculateFormula() metodunu bir kez çağırıp, 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 tek bir hücreyi hesaplamak isterler. Aspose.Cells, bu amaçla CalculationOptions.GetRecursive() özelliğini sağlar, bu özelliği false olarak ayarlayabilirsiniz ve bu, bireysel hücrelerin hesaplama süresini önemli ölçüde azaltır. Çünkü recursive özelliği true ise, tüm bağımlı hücreler her çağrıda yeniden hesaplanır. Ancak recursive false ise, bağımlı hücreler sadece bir kez hesaplanır ve sonraki çağrılarda tekrar hesaplanmaz.
Hücre.Calculate() Yönteminin Hesaplama Zamanını Azaltma
Aşağıdaki örnek kod, CalculationOptions.GetRecursive() özelliğinin kullanımını gösterir. Lütfen bu kodu verilen örnek Excel dosyası ile çalıştırın ve konsol çıktısını kontrol edin. Recursive özelliğini false olarak ayarlamanın hesaplama süresini önemli ölçüde azalttığını göreceksiniz. Ayrıca, bu özelliğin daha iyi anlaşılması için açıklamaları okuyun.
Konsol Çıktısı
Yukarıdaki örnek kodun komut satırı çıktısı, örnek Excel dosyası kullanılarak bizim makinemizde çalıştırıldığında elde edilmiştir. Lütfen, çıkış değerleriniz farklı olabilir, ancak recursive özelliği false olarak ayarladıktan sonra geçen zaman her zaman true ayarından daha az olacaktır.
Recursive True: 96 seconds
Recursive False: 42 seconds