Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Cells provides the AbstractCalculationEngine class, which is used to implement user‑defined or custom functions that are not supported by Microsoft Excel as built-in functions.
This article will explain how to return the range of values from AbstractCalculationEngine.
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.
const AsposeCells = require("aspose.cells.node");
class CustomFunctionStaticValue extends AsposeCells.AbstractCalculationEngine {
calculate(data) {
data.setCalculatedValue([
[new Date(2015, 5, 12, 10, 6, 30), 2],
[3.0, "Test"]
]);
}
}
Now use the above function in your program
const AsposeCells = require("aspose.cells.node");
class CustomFunctionStaticValue extends AsposeCells.AbstractCalculationEngine {
calculate(data) {
data.setCalculatedValue([
[new Date(2015, 5, 12, 10, 6, 30), 2],
[3.0, "Test"]
]);
}
}
try {
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Create workbook
const workbook = new AsposeCells.Workbook();
const cells = workbook.getWorksheets().get(0).getCells();
// Set formula
const cell = cells.get(0, 0);
cell.setArrayFormula("=MYFUNC()", 2, 2);
const style = cell.getStyle();
style.setNumber(14);
cell.setStyle(style);
// Set calculation options for formula
const calculationOptions = new AsposeCells.CalculationOptions();
calculationOptions.setCustomEngine(new CustomFunctionStaticValue());
workbook.calculateFormula(calculationOptions);
// Save to XLSX by setting the calculation mode to manual
workbook.getSettings().getFormulaSettings().setCalculationMode(AsposeCells.CalcModeType.Manual);
workbook.save(dataDir + "output_out.xlsx");
// Save to PDF
workbook.save(dataDir + "output_out.pdf");
} catch (error) {
console.error(`Test failed: ${error.message}`);
throw error;
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.