通过代码定义命名范围
要定义命名范围,请使用 DefineNamedRange 方法:
var sheet = grid.CurrentWorksheet;
// 定义从 C3 开始到 F3 结束、包含 4 列的命名范围
sheet.DefineNamedRange("header", new RangePosition("C3:F3"));
通过指定名称将数据设置到工作表中:
// 在名为 'header' 的范围内设置标题文本
sheet["header"] = new object[] { "Name", "Age", "Birthday", "Email" };
文本将如下所示显示在 4 列中:

您也可以通过命名范围实例设置数据。
// 定义命名范围
NamedRange namedRange = sheet.DefineNamedRange("items", "B2:E2");
// 向命名范围设置值
namedRange.Data = new object[] { 1, 3, 5, 7 };
在公式中使用名称
要在公式中按名称引用范围,直接使用名称即可:
var range = sheet.DefineNamedRange("r1", "A1:C2");
range.Data = new object[,] {
{1, 2, 3},
{4, 5, 6}
};
sheet["E2"] = "=SUM(r1)";

有关公式的更多信息,请参见公式。
移除命名范围定义
要从电子表格中移除命名范围定义,请使用 UndefineNamedRange 方法。
sheet.UndefineNamedRange("myname");
自定义名称解析提供程序
即使名称未在电子表格中定义,也可以在公式中使用自定义名称:
sheet["F1"] = "=myName1 + myName2";
由于 myName1 和 myName2 未定义为命名范围,您可以通过自定义名称解析提供程序以编程方式提供它们的值。参见自定义函数。
插入/删除行列后范围的变化
插入或删除行和列会对命名范围产生以下影响:
- 如果在命名范围之前插入行或列,命名范围会自动移动。
- 如果在命名范围内部插入行或列,命名范围会自动扩展以包含它们。
- 如果命名范围内部的行或列被删除,命名范围会相应缩小。如果命名范围内的所有行或列都被删除,命名范围也会被自动移除。
这些行为目前无法更改。
事件
要在定义命名范围时接收事件,请使用 NamedRangeDefined 事件。要在移除命名范围定义时接收事件,请使用 NamedRangeUndefined 事件。
在 ReoGridEditor 中定义命名范围
要在 ReoGridEditor 中定义命名范围,选择目标范围,然后选择菜单 Formula > Define Named Range。

点击 OK,名称将出现在地址栏的下拉菜单中:

选择名称 ‘header’,相应的范围将被选中。
