Arbeiten mit benutzerdefiniertem Berechnungsmotor für GridJs

Benutzerdefinierten Berechnungsmotor implementieren

Aspose.Cells.GridJs verfügt über einen leistungsstarken Berechnungsmotor, der fast alle Microsoft Excel-Formeln berechnen kann. Trotzdem können Sie den standardmäßigen Berechnungsmotor erweitern, um Ihnen mehr Leistung und Flexibilität zu bieten.

Die folgenden Eigenschaften und Klassen werden zur Umsetzung dieses Merkmals verwendet.

Der folgende Code implementiert den benutzerdefinierten Berechnungsmotor. Es implementiert das Interface GridAbstractCalculationEngine, das eine Calculate(GridCalculationData data)-Methode hat. Diese Methode wird für alle Ihre Formeln aufgerufen. Innerhalb dieser Methode erfassen wir die MYTESTFUNC-Formel und multiplizieren mit 2 für ihren ersten Parametewert.

Programmierbeispiel

class MyCalculation : GridAbstractCalculationEngine
        {
           public override void calculate(GridCalculationData data)
            {
                if (!"MYTESTFUNC".Equals(data.FunctionName.ToUpper()))
                {
                    return;
                }
                data.CalculatedValue = (decimal)(2.0 * (double)data.GetParamValue(0));
            }
        }
// in the startup.cs when you do initialization ,set the CalculateEngine		
  MyCalculation ce = new MyCalculation();
  GridJsWorkbook.CalculateEngine = ce;