Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Bir fonksiyonu hesaplamak için gereken verileri temsil eder, örneğin fonksiyon adı, parametreler, vb.
public class CalculationData
Miras
Miras Alınan Üyeler
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Açıklamalar
Bu sınıf tarafından sağlanan tüm nesneler yalnızca “okuma” amacıyla kullanılmaktadır. Kullanıcı, formül hesaplama süreci sırasında Workbook’taki herhangi bir veriyi değiştirmemelidir, Aksi takdirde beklenmedik bir sonuç veya İstisna oluşabilir.
Özellikler
Hesaplanan Değer
Bu fonksiyon için hesaplanan değeri alır veya ayarlar.
public object CalculatedValue { get; set; }
Özellik Değeri
Açıklamalar
Kullanıcı, bu özelliği kendi özel hesaplama motorunda motorun desteklediği fonksiyonlar için ayarlamalıdır, ve ayarlanan değer daha sonra bu özelliği alırken dönecektir. Ayarlanan değer, Aspose.Cells.Cell.Value’nin olası türlerinden biri, ya da bu tür değerlerin bir dizisi, ya da bir Aralık, İsim, Başvuru Alanı olabilir. Değer ayarlanmadan önce bu özelliği almak, fonksiyonun Aspose.Cells’in varsayılan hesaplama motoru tarafından hesaplanmasına neden olur ve ardından hesaplanan değer dönecektir (genellikle kullanıcı tanımlı fonksiyonlar için #NAME? olmalıdır).
Hücre
Fonksiyonun bulunduğu Hücre nesnesini alır.
public Cell Cell { get; }
Özellik Değeri
Açıklamalar
Bir formülü bir hücreye ayarlamadan hesapladığınızda, örneğin Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions) ile, formül, sanki A1 hücresine ayarlanmış gibi hesaplanacaktır, bu nedenle hem Aspose.Cells.CalculationData.CellRow hem de Aspose.Cells.CalculationData.CellColumn 0’dır. Ancak, çalışma sayfasındaki A1 hücresi başlatılmamış olabilir. Bu nedenle, böyle bir durumda bu özellik null olacaktır.
Hücre Sütunu
Fonksiyonun bulunduğu hücrenin sütun indeksini alır.
public int CellColumn { get; }
Özellik Değeri
Hücre Satırı
Fonksiyonun bulunduğu hücrenin satır indeksini alır.
public int CellRow { get; }
Özellik Değeri
Fonksiyon Adı
Hesaplanacak fonksiyon adını alır.
public string FunctionName { get; }
Özellik Değeri
Parametre Sayısı
Parametre sayısını alır.
public int ParamCount { get; }
Özellik Değeri
Çalışma Kitabı
Fonksiyonun bulunduğu Workbook nesnesini alır.
public Workbook Workbook { get; }
Özellik Değeri
Çalışma Sayfası
Fonksiyonun bulunduğu Worksheet nesnesini alır.
public Worksheet Worksheet { get; }
Özellik Değeri
Metotlar
GetParamText(int)
Verilen indeksteki parametrenin literal metnini alır.
public string GetParamText(int index)
Parametreler
index
int
parametrenin indeksi (0 tabanlı)
Dönüş
parametrenin literal metni
GetParamValue(int)
Verilen indeksteki parametrenin temsil edilen değer nesnesini alır.
public object GetParamValue(int index)
Parametreler
index
int
parametrenin indeksi (0 tabanlı)
Dönüş
Parametrenin hesaplanan değeri.
Açıklamalar
Tek bir parametre için:
Eğer düz bir değer ise, o zaman düz değeri kendisi döner;
Eğer referans ise, o zaman ReferredArea nesnesini döner;
Eğer birden çok değere sahip veri kümesine referans veriyorsa, o zaman nesneler dizisini döner;
Eğer hesaplanması gereken bir tür ifade ise, o zaman değer modunda hesaplanacak ve genellikle mevcut hücre temeline göre tek bir değer dönecektir. Örneğin, D2'nin formülündeki bir parametre A:A+B:B ise, A2+B2 hesaplanacak ve dönecektir. Ancak, bu parametre dizi modu olarak belirtilmişse (by Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) veya Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), o zaman öğeleri A1+B1,A2+B2,... olan bir dizi (object[][]) dönecektir.
GetParamValueInArrayMode(int, int, int)
Verilen indeksteki parametrenin değer(ler)ini alır. Eğer parametre hesaplanması gereken bir tür ifade ise, o zaman dizi modunda hesaplanacaktır.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parametreler
index
int
parametrenin indeksi (0 tabanlı)
maxRowCount
int
Dönen dizi için satır sayısı sınırı. Eğer negatif veya gerçek satır sayısından büyükse, o zaman gerçek satır sayısı kullanılacaktır.
maxColumnCount
int
Dönen dizi için sütun sayısı sınırı. Eğer negatif veya gerçek sütun sayısından büyükse, o zaman gerçek sütun sayısı kullanılacaktır.
Dönüş
object[][]
Belirtilen parametre tarafından temsil edilen tüm öğeleri içeren bir dizi.
Açıklamalar
Hesaplanması gereken bir ifade için, A:A+B:B örneğini alalım: Değer modunda, mevcut hücre temeline göre tek bir değere hesaplanacaktır. Ancak dizi modunda, A1+B1,A2+B2,A3+B3,… değerlerinin tamamı hesaplanacak ve dönen diziyi oluşturmak için kullanılacaktır. Ve böyle bir durumda, satır/sütun sayısı için sınır belirtmek daha iyidir (örneğin Aspose.Cells.Cells.MaxDataRow ve Aspose.Cells.Cells.MaxDataColumn’a göre), aksi takdirde dönen büyük dizi, büyük miktarda gereksiz veri ile bellek maliyetini artırabilir.