首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用C#代码提取、修改或删除 Excel 中的超链接

使用C#代码提取、修改或删除 Excel 中的超链接

原创
作者头像
用户12401097
发布于 2026-11-06 17:58:13
发布于 2026-11-06 17:58:13
780
举报

超链接是 Excel 中一项常用功能,可用于引用外部数据源、在不同工作表之间跳转,或为特定单元格提供补充信息。

在处理 Excel 文件时,我们可能需要根据实际需求管理超链接。例如,提取文件中的所有超链接以便进行数据分析,修改过时的链接以确保信息准确,或者删除失效的超链接以提高文档的可用性。

本文将介绍如何使用 C# 和 VB.NET 提取、修改或删除 Excel 中的超链接,并通过代码示例展示具体实现方法。

准备工作

在 .NET 项目中处理 Excel 文件,需要引入支持 Excel 文档操作的相关库。根据项目需求选择合适的库,并将相应的 DLL 文件添加为项目引用,也可以通过 NuGet 包管理器完成安装。

代码语言:C#
复制
PM> Install-Package Spire.XLS

使用 C# 和 VB.NET 提取 Excel 中的超链接

如果需要将 Excel 工作簿中的数据迁移到其他系统(例如数据库),并保留与数据相关联的超链接,那么提前提取 Excel 文件中的超链接信息是必要的。

以下步骤介绍如何使用 C# 和 VB.NET 从 Excel 文件中提取超链接:

  1. 初始化一个 Workbook 类的实例。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 使用 Workbook.Worksheetsint index 属性获取指定的工作表。
  4. 通过 Worksheet.Hyperlinks 属性获取该工作表中的所有超链接集合。
  5. 初始化一个 StringBuilder 类的实例,用于存储提取的超链接信息。
  6. 遍历超链接集合中的所有超链接。
  7. 使用 XlsHyperlink.Address 和 XlsHyperlink.Type 属性获取每个超链接的地址和类型。
  8. 将获取的地址和类型追加到 StringBuilder 实例中。
  9. 使用 File.WriteAllText() 方法将 StringBuilder 中的内容写入文本文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;
using System.IO;
using System.Text;

namespace ExtractHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文件
            workbook.LoadFromFile("Hyperlinks1.xlsx");

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

            // 获取工作表中的所有超链接集合
            HyperLinksCollection hyperLinks = sheet.HyperLinks;

            // 初始化 StringBuilder 类的实例
            StringBuilder sb = new StringBuilder();

            // 遍历超链接集合中的所有超链接
            foreach (XlsHyperLink hyperlink in hyperLinks)
            {
                // 获取超链接的地址
                string address = hyperlink.Address;

                // 获取超链接的类型
                HyperLinkType type = hyperlink.Type;

                // 将超链接的地址和类型追加到 StringBuilder 实例中
                sb.AppendLine("链接地址:" + address);
                sb.AppendLine("链接类型:" + type.ToString());
                sb.AppendLine();
            }

            // 将 StringBuilder 实例中的内容写入文本文件
            File.WriteAllText("GetHyperlinks.txt", sb.ToString());

            workbook.Dispose();
        }
    }
}

使用 C# 和 VB.NET 修改 Excel 中的超链接

如果在创建超链接时不小心链接到了错误的资源,或者输入了不正确的 URL,就需要修改超链接以纠正错误。

以下步骤介绍如何修改 Excel 文件中已有的超链接:

  1. 初始化一个 Workbook 类的实例。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 使用 Workbook.Worksheetsint index 属性获取指定的工作表。
  4. 通过 Worksheet.Hyperlinks 属性获取该工作表中的所有超链接集合。
  5. 获取超链接集合中的第一个超链接。
  6. 使用 XlsHyperlink.TextToDisplay 和 XlsHyperlink.Address 属性修改超链接的显示文本和链接地址。
  7. 使用 Workbook.SaveToFile() 方法保存修改后的文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;

namespace ModifyHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文件
            workbook.LoadFromFile("Hyperlinks2.xlsx");

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

            // 获取工作表中的所有超链接集合
            HyperLinksCollection links = sheet.HyperLinks;

            // 获取集合中的第一个超链接
            XlsHyperLink hyperLink = links[0];

            // 修改超链接的显示文本和链接地址
            hyperLink.TextToDisplay = "Spire.XLS for .NET";
            hyperLink.Address = "http://www.e-iceblue.com/Introduce/excel-for-net-introduce.html";

            // 保存修改后的文件
            workbook.SaveToFile("ModifyHyperlink.xlsx", ExcelVersion.Version2013);

            workbook.Dispose();
        }
    }
}

使用 C# 和 VB.NET 删除 Excel 中的超链接

删除无关的超链接,可以让工作表看起来更加整洁、规范。

以下步骤介绍如何从 Excel 文件中删除指定的超链接:

  1. 初始化一个 Workbook 类的实例。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 使用 Workbook.Worksheetsint index 属性获取指定的工作表。
  4. 使用 Worksheet.Hyperlinks.RemoveAt(int index) 方法删除工作表中的指定超链接。
  5. 使用 Workbook.SaveToFile() 方法保存修改后的文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;

namespace RemoveHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 初始化 Workbook 类的实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文件
            workbook.LoadFromFile("Hyperlinks2.xlsx");

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

            // 删除第一个超链接,但保留其显示文本
            sheet.HyperLinks.RemoveAt(0);

            // 清除单元格中的所有内容
            // sheet.Range["B2"].ClearAll();

            // 保存修改后的文件
            workbook.SaveToFile("RemoveHyperlink.xlsx", ExcelVersion.Version2013);

            workbook.Dispose();
        }
    }
}

总结

通过 C# 和 VB.NET,可以方便地管理 Excel 文件中的超链接,包括提取、修改和删除等操作。

  • 提取超链接: 获取工作表中的超链接集合,读取每个超链接的地址和类型,并将相关信息保存到文本文件中。
  • 修改超链接: 更新超链接的显示文本和目标地址,确保链接信息准确。
  • 删除超链接: 移除指定的超链接,同时可以选择保留单元格中的原有显示文本,或清除单元格的全部内容。

这些操作可以帮助开发人员更高效地管理 Excel 文档中的链接信息,减少重复的手动操作,也便于在数据迁移、文档维护和自动化报表处理等场景中使用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 准备工作
  • 使用 C# 和 VB.NET 提取 Excel 中的超链接
  • 使用 C# 和 VB.NET 修改 Excel 中的超链接
  • 使用 C# 和 VB.NET 删除 Excel 中的超链接
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档