GridAbstractCalculationEngine

GridAbstractCalculationEngine class

Stellt das benutzerdefinierte Berechnungsmodul des Benutzers dar, um das standardmäßige Berechnungsmodul von Aspose.Cells zu erweitern.

public abstract class GridAbstractCalculationEngine

Methoden

NameBeschreibung
abstract Calculate(GridCalculationData)Berechnet eine Funktion mit gegebenen Daten.

Bemerkungen

Der Benutzer sollte keinen Teil der Arbeitsmappe direkt in dieser Implementierung ändern (mit Ausnahme des berechneten Ergebnisses der benutzerdefinierten Funktion, das durch die GridCalculationData.CalculatedValue-Eigenschaft festgelegt werden kann). Andernfalls kann es zu unerwarteten Ergebnissen oder Ausnahmen kommen. Wenn der Benutzer Änderungen vornehmen muss Andere Daten als die berechneten Ergebnisse in der Implementierung für einige benutzerdefinierte Funktionen, zum Beispiel die Formel, den Stil der Zelle ändern usw., Benutzer sollten diese Daten in dieser Implementierung sammeln und sie aus dem Bereich der Formelberechnung herausnehmen.

Beispiele

[C#]
public class MyEngine : GridAbstractCalculationEngine
{
    public override void Calculate(GridCalculationData data)
    {
        string funcName = data.FunctionName.ToUpper();
        if ("MYFUNC".Equals(funcName))
        {
            // Berechnung für MYFUNC hier durchführen
            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);
                }
                //Hier den Parameter verarbeiten
                // res = ...;
            }
            data.CalculatedValue = res;
        }
    }
}

Siehe auch