如何删除 Excel 中的超链接:4 种简单方法
如何删除 Excel 中的超链接:4 种简单方法
在 Excel 中输入网址或从其他来源复制数据时,工作表中有时会自动出现超链接。如果工作表中存在大量不需要的超链接,不仅会影响表格的整洁性,还可能给后续的数据整理和格式调整带来不便。
本文将介绍 4 种 删除 Excel 超链接 的方法,包括使用 Excel 自带功能手动删除,以及通过 VBA 宏或 C# 批量处理。你可以根据超链接的数量和使用场景选择合适的方法,并在删除链接的同时保留单元格中的文本。
如何手动删除 Excel 中的超链接
对于数量较少的超链接,可以通过右键菜单或 开始 选项卡中的 清除 功能进行删除。
使用右键菜单删除 Excel 超链接
操作步骤:
在 Microsoft Excel 中打开文件。
选中包含超链接的单元格或单元格区域。
右键单击所选内容,然后选择 取消超链接(单个单元格)或 删除超链接(多个单元格)。
操作完成后,超链接会被移除,但单元格中的显示文本仍会保留。
使用开始选项卡删除 Excel 超链接
操作步骤:
选中包含超链接的单元格或单元格区域。
点击 开始 选项卡。
在 编辑 组中点击 清除。
根据是否需要保留原有格式选择:
- 清除超链接(不含格式): 仅清除超链接,保留字体颜色、下划线等现有格式。
- 删除超链接(含格式): 删除超链接,同时清除相关格式。
提示: 如果超链接是通过 HYPERLINK 函数创建的,例如 =HYPERLINK("https://example.com","Example"),链接实际上由公式生成。若要取消超链接并保留显示文本,可以复制这些单元格,然后使用 选择性粘贴 > 值 将公式转换为普通文本。
如何批量删除 Excel 中的超链接
当工作簿中包含大量超链接时,逐个手动删除比较耗时。此时可以使用 VBA 或 C# 自动化处理,一次删除多个工作表或多个文件中的超链接。
使用 VBA 宏删除 Excel 超链接
Excel 支持使用 VBA 宏自动执行重复操作。如果需要删除当前工作簿中多个工作表里的超链接,可以使用下面的宏代码。
操作步骤:
按 Alt + F11 打开 VBA 编辑器。
在编辑器中选择 插入 > 模块。
复制并粘贴以下 VBA 代码:
1
2
3
4
5
6Sub RemoveHyperlinks()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Hyperlinks.Delete
Next ws
End Sub按 F5 运行代码。
提示:
- 该宏会遍历当前工作簿中的所有工作表,并删除其中的超链接及链接格式,单元格中的显示文字不会被删除。如果希望只删除超链接,同时保留文本和格式,应使用
ws.Cells.ClearHyperlinks。 - 宏代码运行后无法撤销,建议备份原始文件,或在副本上操作。
使用 Csharp 批量删除 Excel 超链接
如果需要一次处理多个 Excel 文件,或者运行环境中没有安装 Microsoft Excel,可以使用 C# 和 Spire.XLS for .NET 库批量删除指定文件夹中所有工作簿的超链接,无需逐个打开文件操作。
操作步骤:
通过 NuGet 包管理器安装 Spire.XLS:
1
Install-Package Spire.XLS
使用以下代码遍历指定文件夹中的 Excel 文件,并删除每个工作簿中的超链接:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48using Spire.Xls;
using System.IO;
namespace RemoveHyperlinks
{
internal class Program
{
static void Main(string[] args)
{
// 设置输入和输出文件夹
string inputDirectory = @"C:\ExcelFiles";
string outputDirectory = @"C:\ExcelFiles\Output";
// 创建输出文件夹
Directory.CreateDirectory(outputDirectory);
// 获取文件夹中的所有 XLSX 文件
string[] files = Directory.GetFiles(inputDirectory, "*.xlsx");
foreach (string file in files)
{
// 加载 Excel 文件
Workbook workbook = new Workbook();
workbook.LoadFromFile(file);
// 遍历所有工作表
foreach (Worksheet sheet in workbook.Worksheets)
{
// 删除当前工作表中的所有超链接
for (int i = sheet.HyperLinks.Count - 1; i >= 0; i--)
{
sheet.HyperLinks.RemoveAt(i);
}
}
// 生成输出文件路径
string outputFile = Path.Combine(
outputDirectory,
Path.GetFileName(file)
);
// 保存处理后的文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
}运行程序。
该代码会依次读取指定文件夹中的所有 .xlsx 文件,遍历每个工作簿中的工作表并删除其中的超链接,然后将处理后的文件保存到 Output 文件夹。单元格中的显示文本仍会保留。
提示: 当前示例只处理 .xlsx 文件。如果还需要处理 .xls 文件,需要同时扩展文件筛选,并在保存时使用与输出文件格式匹配的 ExcelVersion。
除了删除超链接以外,你还可以使用同一库完成读写 Excel 文件、设置单元格格式、创建和处理表格等操作。
删除 Excel 超链接的实用建议
在删除超链接时,下面几点可以帮助你避免重复操作和误删。
- 关闭自动创建超链接功能: 如果 Excel 会在输入网址或网络路径后自动创建超链接,可以前往 文件 > 选项 > 校对 > 自动更正选项 > 键入时自动套用格式,取消勾选 Internet 及网络路径替换为超链接。关闭后,新输入的网址或网络路径将不再自动转换为超链接。
- 批量处理前备份原始文件: 在运行 VBA 宏或 C# 程序前,建议先保留原始工作簿或文件夹的备份,以便在处理结果不符合预期时快速恢复。
总结
删除 Excel 超链接时,可以根据链接数量和处理范围选择不同的方法。少量超链接可直接在 Excel 中手动删除;如果需要清理一个工作簿中的大量超链接,可以使用 VBA;如果需要批量处理多个 Excel 文件,则可以使用 C#。
此外,不同删除方式对单元格格式的影响并不相同。如果需要保留原有格式,应选择相应的清除方式;对于通过 HYPERLINK 函数创建的链接,则需要将公式转换为值。
常见问题解答
Q1: 删除 Excel 超链接后,单元格中的文字会保留吗?
A1: 会。对于普通超链接,删除链接后单元格中的显示文本通常会保留。不过,不同删除方式对字体颜色、下划线等格式的处理有所不同。
Q2: “清除超链接(不含格式)”和“删除超链接(含格式)”有什么区别?
A2: 清除超链接(不含格式) 只移除超链接,保留单元格现有格式;删除超链接(含格式) 则会同时移除超链接及相关格式。
Q3: 可以一次删除多个单元格中的超链接吗?
A3: 可以。选中多个包含超链接的单元格后,可以通过右键菜单选择 删除超链接,也可以使用 开始 > 清除 中的相关选项进行处理。
Q4: 如何删除通过 HYPERLINK 函数创建的超链接?
A4: HYPERLINK 函数创建的链接属于单元格公式的一部分,不能按照普通超链接的方式直接删除。如果需要取消链接并保留显示文本,可以复制相应单元格,然后使用 选择性粘贴 > 值 将公式转换为普通文本。















