创建命名区域是指给选定的某个单元格或多个单元格区域设置名称,目的是方便我们在文件中的其他地方对该单元格或单元格区域进行引用,例如在公式中使用命名区域,可以让公式更加简洁。在Excel中,命名区域分为以下两种:
- 全局命名区域
- 局部命名区域
本文将介绍如何使用Spire.XLS组件创建这两种命名区域。
全局命名区域
全局命名区域对整个工作薄有效。在Spire.XLS中,我们可以通过 workbook.NameRanges.Add() 方法来创建全局命名区域。
C#
//创建Workbook实例
Workbook workbook = new Workbook();
//加载Excel文件
workbook.LoadFromFile(@"Input.xlsx");
//获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
//定义第一个全局命名区域
INamedRange NamedRange1 = workbook.NameRanges.Add("Range1");
NamedRange1.RefersToRange = sheet.Range["B2"];
//定义第二个全局命名区域
INamedRange NamedRange2 = workbook.NameRanges.Add("Range2");
NamedRange2.RefersToRange = sheet.Range["C2"];
sheet.Range["D1"].Text = "合计";
//在公式中引用命名区域
sheet.Range["D2"].Formula = "=SUM(Range1,Range2)";
//保存文件
workbook.SaveToFile("全局命名区域.xlsx", ExcelVersion.Version2013);
VB.NET
'创建Workbook实例 Dim workbook As New Workbook() '加载Excel文件
workbook.LoadFromFile("Input.xlsx")
'获取第一张工作表 Dim sheet As Worksheet = workbook.Worksheets(0) '定义第一个全局命名区域
Dim NamedRange1 As INamedRange = workbook.NameRanges.Add("Range1")
NamedRange1.RefersToRange = sheet.Range("B2")
'定义第二个全局命名区域 Dim NamedRange2 As INamedRange = workbook.NameRanges.Add("Range2") NamedRange2.RefersToRange = sheet.Range("C2") sheet.Range("D1").Text = "合计" '在公式中引用命名区域
sheet.Range("D2").Formula = "=SUM(Range1,Range2)"
'保存文件 workbook.SaveToFile("全局命名区域.xlsx",ExcelVersion.Version2013)
局部命名区域
局部命名区域仅对选定的工作表有效。使用sheet.Names.Add () 方法可以创建局部命名区域。
C#
//创建Workbook实例 Workbook workbook = new Workbook();//加载Excel文件 workbook.LoadFromFile(@"Input.xlsx");//获取第一张工作表 Worksheet sheet = workbook.Worksheets[0];//定义第一个局部命名区域 INamedRange namedRange1 = sheet.Names.Add("Range1");namedRange1.RefersToRange = sheet.Range["B2"];//定义第二个局部命名区域 INamedRange namedRange2 = sheet.Names.Add("Range2");namedRange2.RefersToRange = sheet.Range["C2"];sheet.Range["D1"].Text = "合计";//在公式中引用命名区域 sheet.Range["D2"].Formula = "=SUM(Range1,Range2)";//保存文件 workbook.SaveToFile(@"局部命名区域.xlsx",ExcelVersion.Version2013);
VB.NET
'创建Workbook实例
Dim workbook As New Workbook()
'加载Excel文件 workbook.LoadFromFile("Input.xlsx") '获取第一张工作表
Dim sheet As Worksheet = workbook.Worksheets(0)
'定义第一个局部命名区域 Dim namedRange1 As INamedRange = sheet.Names.Add("Range1") namedRange1.RefersToRange = sheet.Range("B2") '定义第二个局部命名区域
Dim namedRange2 As INamedRange = sheet.Names.Add("Range2")
namedRange2.RefersToRange = sheet.Range("C2")
sheet.Range("D1").Text = "合计"
'在公式中引用命名区域 sheet.Range("D2").Formula = "=SUM(Range1,Range2)" '保存文件
workbook.SaveToFile("局部命名区域.xlsx", ExcelVersion.Version2013)