IXlCell.SetFormula(IXlFormulaParameter) Method

Assigns the specified formula to a cell.

Namespace: DevExpress.Export.Xl

Assembly: DevExpress.Printing.v21.2.Core.dll

Declaration

void SetFormula(
    IXlFormulaParameter formula
)

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.v21.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.

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