C# 给Excel表格添加超链接

在开始前我们首先来看看Excel中的超链接类型。打开一个Excel文档,选中其中一个单元格右键,选择Hyperlink,就会出现以下对话框,从对话框中可以看出,我们可以链接到现有文档,网页,邮件地址或者是当前文档的某一个位置等。


 

C# 给Excel表格添加超链接_Excel文档

了解了Excel的超链接类型,接下来就看看如何使用C#来给Excel表格添加超链接。

本方案使用了一款免费版Excel组件 Free Spire.XLS,它有一个优点就是不依赖Office,功能齐全使用起来也比较简单,需要的朋友可以从​​官网​​​或者​​NuGet​​上下载它。组件安装后,创建一个C#工程,  并添加该组件安装目录下的bin文件夹里的对应dll文件到工程作为引用。这里我创建的是console application。

参考代码

1. 网页、邮件地址超链接

//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
//获取工作表
Worksheet sheet = workbook.Worksheets[0];

//添加网页超链接
HyperLink UrlLink = sheet.HyperLinks.Add(sheet.Range["B3"]);
UrlLink.TextToDisplay = sheet.Range["B3"].Text;
UrlLink.Type = HyperLinkType.Url;
UrlLink.Address = "https://www.e-iceblue.com/Introduce/excel-for-net-introduce.html";

//添加邮件地址超链接
HyperLink MailLink = sheet.HyperLinks.Add(sheet.Range["C3"]);
MailLink.TextToDisplay = sheet.Range["C3"].Text;
MailLink.Type = HyperLinkType.Url;
MailLink.Address = "mailto:support@e-iceblue.com";

//保存文档
workbook.SaveToFile("UrlLink.xlsx");

C# 给Excel表格添加超链接_c#_02


2. 文档超链接

//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("Documents.xlsx");
//获取工作表
Worksheet sheet = workbook.Worksheets[0];

//添加文档超链接
CellRange range = sheet.Range["B2"];
HyperLink FileLink = sheet.HyperLinks.Add(range);
FileLink.Type = HyperLinkType.File;
FileLink.TextToDisplay = sheet.Range["B2"].Text;
FileLink.Address = @"E:\ProgramFiles\SpireDoc.docx";

//保存文档
workbook.SaveToFile("FileLink.xlsx");

C# 给Excel表格添加超链接_超链接_03


3. 链接到本文档内的指定位置

//新建Excel文档
Workbook workbook = new Workbook();
//获取工作表
Worksheet sheet = workbook.Worksheets[0];

//链接至本文档内的第二个工作表的B5单元格
CellRange range = sheet.Range["B5"];
HyperLink WbLink = sheet.HyperLinks.Add(range);
WbLink.Type = HyperLinkType.Workbook;
WbLink.TextToDisplay = "Goto sheet 2";
WbLink.Address = "Sheet2!B5";

//保存文档
workbook.SaveToFile("Wb.xlsx",ExcelVersion.Version2013);

C# 给Excel表格添加超链接_超链接_04

 

4. 链接到Unc路径(网络路径)

//新建Excel文档
Workbook workbook = new Workbook();
//获取工作表
Worksheet sheet = workbook.Worksheets[0];

//链接到192.168.1.108
CellRange range = sheet.Range["D3"];
HyperLink UncLink = sheet.HyperLinks.Add(range);
UncLink.Type = HyperLinkType.Unc;
UncLink.TextToDisplay = "Goto 192.168.1.108";
UncLink.Address = "\\192.168.1.108";

//保存文档
workbook.SaveToFile("Unc.xlsx");

C# 给Excel表格添加超链接_超链接_05


感谢阅读,希望能给您带来一定的帮助。