GridAbstractCalculationEngine

GridAbstractCalculationEngine class

Representerar användarens anpassade beräkningsmotor för att utöka standardberäkningsmotorn för Aspose.Cells.

public abstract class GridAbstractCalculationEngine

Metoder

namnBeskrivning
abstract Calculate(GridCalculationData)Beräknar en funktion med givna data.

Anmärkningar

Användaren ska inte modifiera någon del av arbetsboken direkt i den här implementeringen (förutom det beräknade resultatet av den anpassade funktionen, som kan ställas in av egenskapen GridCalculationData.CalculatedValue). Annars kan oväntade resultat eller undantag orsakas. Om användaren behöver ändra andra data än beräknade resulterar i implementeringen för vissa anpassade funktioner, till exempel, ändra cells formel, stil, … etc., användaren bör samla in dessa data i denna implementering och ändra dem utanför ramen för formelberäkningen.

Exempel

[C#]
public class MyEngine : GridAbstractCalculationEngine
{
    public override void Calculate(GridCalculationData data)
    {
        string funcName = data.FunctionName.ToUpper();
        if ("MYFUNC".Equals(funcName))
        {
            //gör beräkning för MYFUNC här
            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);
                }
                //bearbeta parametern här
                //res = ...;
            }
            data.CalculatedValue = res;
        }
    }
}

Se även