目的路径太长如哈删除_C# 创建、更改、删除Excel命名区域(NamedRange)

本文介绍了如何在C#中使用Free Spire.XLS for .NET库创建、更改和删除Excel的命名区域。创建命名区域可以简化公式引用和数据管理,分为全局和局部两种情况。此外,还讲解了如何更改区域名称、隐藏及删除命名区域。
摘要由CSDN通过智能技术生成

创建命名区域是指给选定的某个单元格或多个单元格区域设置名称,目的是方便我们在文件中的其他地方对该单元格区域进行引用能够简化公式引用或者方便数据管理。下面将介绍具体的示例代码。这里创建命名区域分为了2种情况,分别对应不同的添加方法以及命名区域的引用范围,即:

1. 全局命名区域(方法:workbook.NameRanges.Add() )

2. 局部命名区域(方法:sheet.Names.Add () )

同时,对于Excel表格中已有的命名区域,我们也可以进行修改或者删除,包括

  • 更改区域名称
  • 隐藏指定命名区域名称
  • 删除指定命名区域

使用工具:Free Spire.XLS for .NET (免费版)

注:下载Free Spire.XLS for .NET后,解压安装,并在VS程序中添加引用Spire.Xls.dll,dll文件可在安装路径下的Bin文件夹中获取。(如下引用效果)

a1ddc657222efd3078e6e3f0e4b9d4ca.png

代码示例(供参考)

【示例1】创建Excel命名区域

using Spire.Xls;
using Spire.Xls.Core;

namespace CreateNamedRange_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Workbook实例
            Workbook workbook = new Workbook();
            //加载Excel文件
            workbook.LoadFromFile("test.xlsx");

            //获取第1张工作表
            Worksheet sheet = workbook.Worksheets[0];

            //定义第一个全局命名区域
            INamedRange NamedRange1 = workbook.NameRanges.Add("第1批次入库量");//此方法定义的命名区域,引用时可适用于整个工作簿
            //INamedRange NamedRange1 = sheet.Names.Add("第1批次入库量");//此方法定义的命名区域,引用时仅适用于命名区域所在工作表
            NamedRange1.RefersToRange = sheet.Range["G3:G7"];

            //定义第二个全局命名区域
            INamedRange NamedRange2 = workbook.NameRanges.Add("第2批次入库量");
            //INamedRange NamedRange2 = sheet.Names.Add("第2批次入库量");
            NamedRange2.RefersToRange = sheet.Range["G8:G12"];

            //指定单元格写入文本
            sheet.Range["A14"].Text = "入库量合计";

            //在公式中引用命名区域
            sheet.Range["B14"].Formula = "=SUM(第1批次入库量,第2批次入库量)";

            //保存文档
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("result.xlsx");
        }
    }
}

创建效果:

2461107fb5623800449fc90455ed7437.png

【示例2】更改Excel命名区域

using Spire.Xls;
using Spire.Xls.Core;

namespace ModifyNameRange_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建文档,加载测试文件
            Workbook wb = new Workbook();
            wb.LoadFromFile("sample.xlsx");

            //获取第一张工作表
            Worksheet sheet = wb.Worksheets[0];

            //获取表格中的指定命名区域
            INamedRange namedRange = wb.NameRanges.GetByName("第1批次入库量");//适用于全局命名区域(整个工作簿)
            //INamedRange namedRange = sheet.Names.GetByName("第2批次入库量");//适用于局部命名区域(指定工作表)

            //修改命名区域的名称和引用单元格区域
            namedRange.Name = "newrange";
            namedRange.RefersToRange = wb.Worksheets[0].Range["G3:G7"];//适用于全局命名区域(整个工作簿)
            //namedRange.RefersToRange = sheet.Range["D3:D8"];//适用于局部命名区域(指定工作表)

            //获取指定命名区域,并设置区域名称隐藏
            namedRange = wb.NameRanges.GetByName("第2批次入库量");
            namedRange.Visible = false;

            删除文档中的指定命名区域的名称
            //wb.NameRanges.Remove("RangeName");//适用于全局命名区域(整个工作簿)
            sheet.Names.Remove("RangeName");//适用于局部命名区域(指定工作表)

            //保存文档
            wb.SaveToFile("newresult.xlsx", FileFormat.Version2010);
            System.Diagnostics.Process.Start("newresult.xlsx");
        }
    }
}

测试文档:

219d14a489ac394138d5a2eacb3d0a9a.png

修改结果:

7b8b3bcd29e6537e5e8c92ccbe44339e.png

(完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值