Benutzerdefinierte Funktionen in GridWeb berechnen
Mögliche Verwendungsszenarien
Aspose.Cells.GridWeb unterstützt die Berechnung von benutzerdefinierten Funktionen mit der Eigenschaft GridWeb.CustomCalculationEngine. Diese Eigenschaft nimmt die Instanz des GridAbstractCalculationEngine-Interfaces. Bitte implementieren Sie das GridAbstractCalculationEngine-Interface und berechnen Sie Ihre benutzerdefinierten Funktionen mit Ihrer eigenen Logik.
Berechnen von benutzerdefinierten Funktionen in GridWeb
Der folgende Beispielcode fügt eine benutzerdefinierte Funktion mit dem Namen MYTESTFUNC() in Zelle B3 hinzu. Dann berechnen wir den Wert dieser Funktion, indem wir das GridAbstractCalculationEngine-Interface implementieren. Wir berechnen MYTESTFUNC() so, dass es seinen Parameter mit 2 multipliziert und das Ergebnis zurückgibt. Wenn sein Parameter also 9 ist, wird es 2*9 = 18 zurückgeben.
Beispielcode
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
private class GridWebCustomCalculationEngine : GridAbstractCalculationEngine | |
{ | |
public override void Calculate(GridCalculationData data) | |
{ | |
// Calculate MYTESTFUNC() with your own logic. i.e Multiply MYTESTFUNC() parameter with 2 so MYTESTFUNC(3.0) = 6 | |
if ("MYTESTFUNC".Equals(data.FunctionName.ToUpper())) | |
{ | |
data.CalculatedValue = (decimal)(2.0 * (double)data.GetParamValue(0)); | |
} | |
} | |
} | |
protected void Page_Load(object sender, EventArgs e) | |
{ | |
if (Page.IsPostBack == false && GridWeb1.IsPostBack == false) | |
{ | |
// Assign your own custom calculation engine to GridWeb | |
GridWeb1.CustomCalculationEngine = new GridWebCustomCalculationEngine(); | |
// Access the active worksheet and add your custom function in cell B3 | |
GridWorksheet sheet = GridWeb1.ActiveSheet; | |
GridCell cell = sheet.Cells["B3"]; | |
cell.Formula = "=MYTESTFUNC(9.0)"; | |
// Calculate the GridWeb formula | |
GridWeb1.CalculateFormula(); | |
} | |
} |