如何在 C# 中管理 Excel 命名范围

How to Add Named Range

This article was translated from English: Does it need improvement?
Translated
View the article in English

A named range is a specified range of cells identified by a unique name. Instead of referring to a range by its cell addresses (like A1:B10), you can assign a name to a range, making it easier to reference and understand in formulas and functions. For example, if you named a range "SalesData," you could refer to it in a formula like SUM(SalesData) instead of specifying the cell range directly.

Quickstart: Add a Named Range with IronXL in One Line

Here’s how you can instantly define a named range using IronXL — super simple, zero hassle. Just pick your range and call the method; you'll be up and running in no time.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    new IronXL.WorkBook()
        .DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true);
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer


Add Named Range Example

To add a named range, use the AddNamedRange method by passing the name of the named range as text and the range object.

:path=/static-assets/excel/content-code-examples/how-to/named-range-add-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Select range
var selectedRange = workSheet["A1:A5"];

// Add named range
workSheet.AddNamedRange("range1", selectedRange);

workBook.SaveAs("addNamedRange.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Select range
Private selectedRange = workSheet("A1:A5")

' Add named range
workSheet.AddNamedRange("range1", selectedRange)

workBook.SaveAs("addNamedRange.xlsx")
$vbLabelText   $csharpLabel
Named Range

Retrieve Named Range Example

Retrieve All Named Ranges

The GetNamedRanges method will return all named ranges in the worksheet as a list of strings.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-all-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get all named range
var namedRangeList = workSheet.GetNamedRanges();
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Get all named range
Private namedRangeList = workSheet.GetNamedRanges()
$vbLabelText   $csharpLabel

Retrieve Specific Named Range

Use the FindNamedRange method to retrieve the absolute reference of the named range, such as Sheet1!$A$1:$A$5. The address formula can then be used to reference the named range or select the corresponding range to the named range. When selecting the range, you should pay attention to the worksheet name.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-specific-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get named range address
string namedRangeAddress = workSheet.FindNamedRange("range1");

// Select range
var range = workSheet[$"{namedRangeAddress}"];
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Get named range address
Private namedRangeAddress As String = workSheet.FindNamedRange("range1")

' Select range
Private range = workSheet($"{namedRangeAddress}")
$vbLabelText   $csharpLabel

Remove Named Range Example

To remove the named range, use the RemoveNamedRange method by passing the named range name as text.

:path=/static-assets/excel/content-code-examples/how-to/named-range-remove-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove named range
workSheet.RemoveNamedRange("range1");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove named range
workSheet.RemoveNamedRange("range1")
$vbLabelText   $csharpLabel

常见问题解答

如何在Excel中使用C#创建命名范围?

您可以通过利用AddNamedRange方法在Excel中使用C#和IronXL创建命名范围。首先,从NuGet下载IronXL库。然后,使用workSheet["A1:A5"]选择目标单元格范围,并将其与名称一起传递给AddNamedRange方法。

在Excel中使用命名范围的目的是什么?

Excel中的命名范围允许您为一组单元格分配一个唯一名称,便于在公式和函数中引用。这提高了可读性并减少错误,因为可以使用类似'SalesData'这样的名称而不是单元格引用如'A1:B10'。

如何在C#中从工作表检索所有命名范围?

您可以使用IronXL的GetNamedRanges方法在C#中从工作表中检索所有命名范围,该方法返回工作表中所有命名范围的字符串列表。

我可以从Excel工作表中检索特定的命名范围吗?

是的,要从Excel工作表中使用IronXL检索特定命名范围,可以使用FindNamedRange方法。此方法为您提供命名范围的绝对引用,例如Sheet1!$A$1:$A$5

在C#中删除命名范围我应该使用什么方法?

要在C#中删除命名范围,使用IronXL的RemoveNamedRange方法。将命名范围的名称作为参数传递给此方法即可删除它。

开发人员如何从使用IronXL管理命名范围中受益?

使用IronXL管理命名范围可以简化创建、检索和删除命名范围等任务。这提高了Excel文件的清晰度和可维护性,使在C#应用程序中更容易管理单元格引用。

我如何开始使用IronXL进行Excel处理的C#?

要开始使用IronXL进行Excel处理的C#,请从NuGet包管理器下载IronXL库。然后,使用提供的方法如AddNamedRangeGetNamedRangesRemoveNamedRange有效地管理命名范围。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 1,686,155 | 版本: 2025.11 刚刚发布