GridAbstractCalculationEngine

GridAbstractCalculationEngine class

Aspose.Cells’in varsayılan hesaplama motorunu genişletmek için kullanıcının özel hesaplama motorunu temsil eder.

public abstract class GridAbstractCalculationEngine

yöntemler

İsimTanım
abstract Calculate(GridCalculationData)Verilen verilerle bir işlevi hesaplar.

Notlar

Kullanıcı, bu uygulamada Çalışma Kitabının herhangi bir bölümünü doğrudan değiştirmemelidir (GridCalculationData.CalculatedValue özelliği tarafından ayarlanabilen özel işlevin hesaplanan sonucu hariç). Aksi takdirde beklenmeyen sonuçlara veya İstisnaya neden olabilir. Kullanıcının değişmesi gerekiyorsa hesaplanan dışındaki veriler, bazı özel işlevler için uygulamada sonuçlanır, örneğin, hücrenin formülünü, stilini vb. değiştir, kullanıcı bu verileri bu uygulamada toplamalı ve bunları formül hesaplama kapsamı dışında değiştirmelidir.

Örnekler

[C#]
public class MyEngine : GridAbstractCalculationEngine
{
    public override void Calculate(GridCalculationData data)
    {
        string funcName = data.FunctionName.ToUpper();
        if ("MYFUNC".Equals(funcName))
        {
            // MYFUNC için hesaplamayı burada yapın
            int count = data.ParamCount;
            object res = null;
            for (int i = 0; i < count; i++)
            {
                object pv = data.GetParamValue(i);
                if (pv is ReferredArea)
                {
                    ReferredArea ra = (ReferredArea)pv;
                    pv = ra.GetValue(0, 0);
                }
                // parametreyi burada işleyin
                //res = ...;
            }
            data.CalculatedValue = res;
        }
    }
}

Ayrıca bakınız