Define named range programmatically

To define a named range, use the DefineNamedRange method:

var sheet = grid.CurrentWorksheet;

// define named range starting at C3, ending at F3, containing 4 columns
sheet.DefineNamedRange("header", new RangePosition("C3:F3"));

Set data into the worksheet by specifying the name:

// set header text inside the range named 'header'
sheet["header"] = new object[] { "Name", "Age", "Birthday", "Email" };

The text is displayed across the 4 columns as shown below:

Named Range

You can also set data via a named range instance.

// define a named range
NamedRange namedRange = sheet.DefineNamedRange("items", "B2:E2");

// set values into named range
namedRange.Data = new object[] { 1, 3, 5, 7 };

Use name in formula

To reference a range by name in a formula, use the name directly:

var range = sheet.DefineNamedRange("r1", "A1:C2");

range.Data = new object[,] {
  {1, 2, 3},
  {4, 5, 6}
};

sheet["E2"] = "=SUM(r1)";

139

For more about formulas, see Formula.

Remove a named range definition

To remove a named range definition from the spreadsheet, use the UndefineNamedRange method.

sheet.UndefineNamedRange("myname");

Customize name parsing provider

It is possible to use a custom name in a formula even if it is not defined in the spreadsheet:

sheet["F1"] = "=myName1 + myName2";

Since myName1 and myName2 are not defined as named ranges, you can provide their values programmatically using a custom name parsing provider. See Custom Function.

Range changes after inserting/removing rows and columns

Inserting or removing rows and columns affects named ranges as follows:

  • If rows or columns are inserted before a named range, the named range is moved automatically.
  • If rows or columns are inserted inside a named range, the named range expands automatically to include them.
  • If rows or columns inside a named range are removed, the named range shrinks accordingly. If all rows or columns within the named range are removed, the named range is also removed automatically.

These behaviors cannot currently be changed.

Events

To receive an event when a named range is defined, use the NamedRangeDefined event. To receive an event when a named range definition is removed, use the NamedRangeUndefined event.

Define named range in ReoGridEditor

To define a named range in ReoGridEditor, select the target range, then choose the menu Formula > Define Named Range.

179

Press OK, and the name will appear in the dropdown of the address bar:

180

Select the name β€˜header’, and the range will be selected.

93

Was this article helpful?