Beräkna anpassade funktioner i GridWeb
Möjliga användningsscenario
Aspose.Cells.GridWeb stödjer beräkning av anpassade funktioner med egenskapen GridWeb.CustomCalculationEngine. Denna egenskap tar instansen av gränssnittet GridAbstractCalculationEngine. Implementera gränssnittet GridAbstractCalculationEngine och beräkna dina anpassade funktioner med din egen logik.
Beräkna anpassade funktioner i GridWeb
Följande exempelkod lägger till en anpassad funktion med namnet MYTESTFUNC() i cell B3. Sedan beräknar vi värdet för denna funktion genom att implementera gränssnittet GridAbstractCalculationEngine. Vi beräknar MYTESTFUNC() på ett sådant sätt att den multiplicerar sitt parameter med 2 och returnerar resultatet. Så om dess parameter är 9, kommer den att returnera 2*9 = 18.
Exempelkod
// 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(); | |
} | |
} |