Calcola le funzioni personalizzate in GridWeb

Possibili Scenari di Utilizzo

Aspose.Cells.GridWeb supporta il calcolo delle funzioni personalizzate con la proprietà GridWeb.CustomCalculationEngine. Questa proprietà richiede l’istanza dell’interfaccia GridAbstractCalculationEngine. Si prega di implementare l’interfaccia GridAbstractCalculationEngine e calcolare le funzioni personalizzate con la propria logica.

Calcola le funzioni personalizzate in GridWeb

Il seguente codice di esempio aggiunge una funzione personalizzata chiamata MYTESTFUNC() nella cella B3. Quindi calcoliamo il valore di questa funzione implementando l’interfaccia GridAbstractCalculationEngine. Calcoliamo MYTESTFUNC() in modo che moltiplichi il suo parametro per 2 e restituisca il risultato. Quindi se il suo parametro è 9, restituirà 2*9 = 18.

Codice di Esempio

// 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();
}
}