IXlCell.SetSharedFormula(XlExpression, XlCellRange) Method

Assigns the specified formula expression to the given cell range to create a shared formula.

Namespace: DevExpress.Export.Xl

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


void SetSharedFormula(
    XlExpression formula,
    XlCellRange range


Name Type Description
formula XlExpression

An XlExpression object used to specify a shared formula.

range XlCellRange

An XlCellRange object that is the worksheet cell range in which each cell will contain a shared formula.


It takes two steps to build a shared formula. First, add a formula to the first cell in a range - it is the host formula. Next, add a reference to the host formula to any other cell of the range. The IXlCell.SetSharedFormula method with different parameters serves both steps, as illustrated in the code below.

// Create data rows.
for (int i = 0; i < 4; i++) {
    using (IXlRow row = sheet.CreateRow()) {
        using (IXlCell cell = row.CreateCell()) {
            cell.Value = product[i];
        using (IXlCell cell = row.CreateCell()) {
            cell.Value = qty[i];
        using (IXlCell cell = row.CreateCell()) {
            cell.Value = price[i];
        using (IXlCell cell = row.CreateCell()) {
            // Use the shared formula to calculate the amount per product. 
            if (i == 0)
                cell.SetSharedFormula("B2*C2", XlCellRange.FromLTRB(3, 1, 3, 4));
                cell.SetSharedFormula(new XlCellPosition(3, 1));
See Also