GridAbstractCalculationEngine

GridAbstractCalculationEngine class

Représente le moteur de calcul personnalisé de l’utilisateur pour étendre le moteur de calcul par défaut d’Aspose.Cells.

public abstract class GridAbstractCalculationEngine

Méthodes

NomLa description
abstract Calculate(GridCalculationData)Calcule une fonction avec des données données.

Remarques

L’utilisateur ne doit modifier aucune partie du classeur directement dans cette implémentation (à l’exception du résultat calculé de la fonction personnalisée, qui peut être défini par la propriété GridCalculationData.CalculatedValue). Sinon, un résultat inattendu ou une exception peut être causé. Si l’utilisateur doit modifier d’autres données que celles calculées résultent de l’implémentation de certaines fonctions personnalisées, par exemple, modifier la formule, le style, etc. de la cellule, l’utilisateur doit rassembler ces données dans cette implémentation et les modifier en dehors de la portée du calcul de la formule.

Exemples

[C#]
public class MyEngine : GridAbstractCalculationEngine
{
    public override void Calculate(GridCalculationData data)
    {
        string funcName = data.FunctionName.ToUpper();
        if ("MYFUNC".Equals(funcName))
        {
            // faire le calcul pour MYFUNC ici
            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);
                }
                // traiter le paramètre ici
                //res = ...;
            }
            data.CalculatedValue = res;
        }
    }
}

Voir également