Returning a Range of Values using AbstractCalculationEngine

Contents
[ ]

The following code demonstrates the use of the AbstractCalculationEngine class and returns the range of values via its method.

Create a class with a function CalculateCustomFunction. This class implements AbstractCalculationEngine.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class CustomFunctionStaticValue : AbstractCalculationEngine
{
public override void Calculate(CalculationData data)
{
data.CalculatedValue = new object[][] {
new object[]{new DateTime(2015, 6, 12, 10, 6, 30), 2},
new object[]{3.0, "Test"}
};
}
}

Now use above function into your program

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create workbook
Workbook workbook = new Workbook();
Cells cells = workbook.Worksheets[0].Cells;
// Set formula
Cell cell = cells[0, 0];
cell.SetArrayFormula("=MYFUNC()", 2, 2);
Style style = cell.GetStyle();
style.Number = 14;
cell.SetStyle(style);
// Set calculation options for formula
CalculationOptions calculationOptions = new CalculationOptions();
calculationOptions.CustomEngine = new CustomFunctionStaticValue();
workbook.CalculateFormula(calculationOptions);
// Save to xlsx by setting the calc mode to manual
workbook.Settings.FormulaSettings.CalculationMode = CalcModeType.Manual;
workbook.Save(dataDir + "output_out.xlsx");
// Save to pdf
workbook.Save(dataDir + "output_out.pdf");