IXlCell.SetFormula(IXlFormulaParameter) Method
Assigns the specified formula to a cell.
Namespace: DevExpress.Export.Xl
Assembly: DevExpress.Printing.v24.2.Core.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
formula | IXlFormulaParameter | An object with the IXlFormulaParameter interface which can be transformed into an expression. |
Remarks
Use the IXlFormulaParameter object instead of a string if a formula parser is not available when calling the XlExport.CreateExporter method, such as in a situation when the DevExpress.Spreadsheet.v24.2.Core.dll assembly is not referenced or unavailable.
Example
This code snippet creates an IXlFormulaParameter expression from a combination of constants, operators and functions. Constants are transformed into the IXlFormulaParameter objects with the XlFunc.Param method. Operators are static methods of the XlOper object and functions are static methods of the XlFunc object.
When an expression is created, the IXlCell.SetFormula method is used to enter expression into a worksheet cell as the cell formula.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/excel-export-api-examples
// Create the total row using IXlFormulaParameter.
using (IXlRow row = sheet.CreateRow()) {
row.SkipCells(2);
using (IXlCell cell = row.CreateCell()) {
cell.Value = "Total:";
cell.ApplyFormatting(totalRowFormatting);
}
using (IXlCell cell = row.CreateCell()) {
// Set the formula to calculate the total amount plus 10 handling fee.
// =SUM($D$2:$D$5)+10
IXlFormulaParameter const10 = XlFunc.Param(10);
IXlFormulaParameter sumAmountFunction = XlFunc.Sum(XlCellRange.FromLTRB(cell.ColumnIndex, 1, cell.ColumnIndex, row.RowIndex - 1).AsAbsolute());
cell.SetFormula(XlOper.Add(sumAmountFunction, const10));
cell.ApplyFormatting(totalRowFormatting);
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the SetFormula(IXlFormulaParameter) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.