写点什么

C#/VB.NET: 为 Excel 表格添加超链接

作者:Geek_249eec
  • 2022 年 9 月 08 日
    四川
  • 本文字数:3898 字

    阅读完需:约 13 分钟

超链接在本质上属于一个网页的一部分。它是指从一个网页指向另一个目标的连接关系,这个目标包括但不限于网页、电子邮件或外部文档。在 Excel 文档中添加超链接,可以帮助我们在查阅表格内容的同时,快速访问与表格数据相关的页面、文档等。下面,我就将利用Free Spire.XLS for .NET演示如何在 C#/VB.NET 程序中为 Excel 表格添加超链接。


为Excel表格添加文本超链接

为Excel表格添加图片超链接


安装 Free Spire.XLS for .NET


方法一,通过NuGet安装 Free Spire.XLS for .NET:

依次选择工具>NuGet 包管理器>程序包管理器控制台,然后执行以下命令:

    PM> Install-Package FreeSpire.XLS


方法二,在程序中手动引入 Spire.xls.dll 文件:

Free Spire.XLS for .NET 下载到本地,解压并安装。安装完成后,打开 Visual Studio 创建新项目,在右边的“解决方案资源管理器”中右键点击“引用”,再依次选择“添加引用”> “浏览”,找到安装路径下 BIN 文件夹中的 dll 文件,点击“确定”,将其添加引用至程序中。


为 Excel 表格添加文本超链接

具体操作步骤如下:


  • 创建一个 Workbook 类的实例。

  • 利用 Workbook.Worksheets[sheetIndex]属性,获取所需要的工作表。

  • 利用 Worksheet.Range[cellName]属性,获取想要添加超链接的指定单元格范围。

  • 使用 Worksheet.HyperLinks.Add()方法,为单元格添加超链接。

  • 利用 XlsHyperLink.Type 属性,设置链接类型。

  • 利用 XlsHyperLink.TextToDisplay 属性,设置链接的显示文本。

  • 利用 XlsHyperLink.Address 属性,设置链接地址。

  • 使用 XlsWorksheet.AutoFitColumn() 方法,自动调整列宽。

  • 使用 Workbook.SaveToFile()方法,保存结果文档。


C#

using Spire.Xls;
namespace AddTextHyperlinks{ class Program { static void Main(string[] args) { //创建一个 Workbook类的实例 Workbook workbook = new Workbook();
//获取第一个工作表 Worksheet sheet = workbook.Worksheets[0];
//添加指向网页的文本超链接 CellRange cell1 = sheet.Range["A1"]; HyperLink urlLink = sheet.HyperLinks.Add(cell1); urlLink.Type = HyperLinkType.Url; urlLink.TextToDisplay = "百度一下"; urlLink.Address = "https://www.baidu.com/home";
//添加指向电子邮件地址的文本超链接 CellRange cell2 = sheet.Range["A2"]; HyperLink mailLink = sheet.HyperLinks.Add(cell2); mailLink.Type = HyperLinkType.Url; mailLink.TextToDisplay = "E-ICEBLUE"; mailLink.Address = "mailto:support@ e-iceblue.com";
//添加指向外部文件的文本超链接 CellRange cell3 = sheet.Range["A3"]; HyperLink fileLink = sheet.HyperLinks.Add(cell3); fileLink.Type = HyperLinkType.File; fileLink.TextToDisplay = "外部文件"; fileLink.Address = "C:\\Users\\Administrator\\Desktop\\test.xlsx";
//添加指向其他工作表中单元格的文本超链接 CellRange cell4 = sheet.Range["A4"]; HyperLink linkToSheet = sheet.HyperLinks.Add(cell4); linkToSheet.Type = HyperLinkType.Workbook; linkToSheet.TextToDisplay = "sheet2中的A1单元格"; linkToSheet.Address = "Sheet2!A1";
//添加指向UNC地址的文本超链接 CellRange cell5 = sheet.Range["A5"]; HyperLink uncLink = sheet.HyperLinks.Add(cell5); uncLink.Type = HyperLinkType.Unc; uncLink.TextToDisplay = "UNC路径"; uncLink.Address = "\\\\192.168.0.121";
//自动调整列宽 sheet.AutoFitColumn(2); sheet.AutoFitColumn(5);
//保存结果文档 workbook.SaveToFile("AddTextHyperlinks.xlsx", ExcelVersion.Version2013); } }}
复制代码

VB.NET:

Imports Spire.Xls
Namespace AddTextHyperlinks    Friend Class Program        Private Shared Sub Main(ByVal args As String())            '创建一个 Workbook类的实例            Dim workbook As Workbook = New Workbook()
            '获取第一个工作表            Dim sheet As Worksheet = workbook.Worksheets(0)
            '添加指向网页的文本超链接            Dim cell1 As CellRange = sheet.Range("A1")            Dim urlLink As HyperLink = sheet.HyperLinks.Add(cell1)            urlLink.Type = HyperLinkType.Url            urlLink.TextToDisplay = "百度一下"            urlLink.Address = "https://www.baidu.com/home"
            '添加指向电子邮件地址的文本超链接            Dim cell2 As CellRange = sheet.Range("A2")            Dim mailLink As HyperLink = sheet.HyperLinks.Add(cell2)            mailLink.Type = HyperLinkType.Url            mailLink.TextToDisplay = "E-ICEBLUE"            mailLink.Address = "mailto:support@ e-iceblue.com"
            '添加指向外部文件的文本超链接            Dim cell3 As CellRange = sheet.Range("A3")            Dim fileLink As HyperLink = sheet.HyperLinks.Add(cell3)            fileLink.Type = HyperLinkType.File            fileLink.TextToDisplay = "外部文件"            fileLink.Address = "C:\Users\Administrator\Desktop\test.xlsx"
            '添加指向其他工作表中单元格的文本超链接            Dim cell4 As CellRange = sheet.Range("A4")            Dim linkToSheet As HyperLink = sheet.HyperLinks.Add(cell4)            linkToSheet.Type = HyperLinkType.Workbook            linkToSheet.TextToDisplay = "sheet2中的A1单元格"            linkToSheet.Address = "Sheet2!A1"
            '添加指向UNC地址的文本超链接            Dim cell5 As CellRange = sheet.Range("A5")            Dim uncLink As HyperLink = sheet.HyperLinks.Add(cell5)            uncLink.Type = HyperLinkType.Unc            uncLink.TextToDisplay = "UNC路径"            uncLink.Address = "\\\\192.168.0.121"
            '自动调整列宽            sheet.AutoFitColumn(2)            sheet.AutoFitColumn(5)
            '保存结果文档            workbook.SaveToFile("AddTextHyperlinks.xlsx", ExcelVersion.Version2013)        End Sub    End ClassEnd Namespace
复制代码



为 Excel 表格添加图片超链接

具体操作步骤如下:

 

  • 创建一个 Workbook 类的实例。

  • 利用 Workbook.Worksheets[sheetIndex]属性,获取所需要的工作表。

  • 使用 Worksheet.Pictures.Add()方法,在工作表中插入图片,并设置行高列宽。

  • 使用 XlsBitmapShape.SetHyperLink()方法,给图片添加超链接。

  • 使用 Workbook.SaveToFile()方法,保存结果文档。


C#

using Spire.Xls;
namespace AddImageHyperlinks{ class Program { static void Main(string[] args) { //创建一个Workbook类的实例 Workbook workbook = new Workbook(); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0];
//在工作表中插入图片并设置行宽列高 ExcelPicture picture = sheet.Pictures.Add(5, 3, "image.jpg"); sheet.Columns[2].ColumnWidth = 10; sheet.Rows[4].RowHeight = 50;
//给图片添加超链接 picture.SetHyperLink("https://www.2021chengdu.com/", true);
//保存结果文档 workbook.SaveToFile("AddImageHyperlink.xlsx", ExcelVersion.Version2013); } }}
复制代码

VB.NET

Imports Spire.Xls
Namespace AddImageHyperlinks    Friend Class Program        Private Shared Sub Main(ByVal args As String())            '创建一个Workbook类的实例            Dim workbook As Workbook = New Workbook()            '获取第一个工作表            Dim sheet As Worksheet = workbook.Worksheets(0)
            '在工作表中插入图片并设置行宽列高            Dim picture As ExcelPicture = sheet.Pictures.Add(5, 3, "image.jpg")            sheet.Columns(2).ColumnWidth = 10            sheet.Rows(4).RowHeight = 50
            '给图片添加超链接             picture.SetHyperLink("https://www.2021chengdu.com/", True)
            '保存结果文档            workbook.SaveToFile("AddImageHyperlink.xlsx", ExcelVersion.Version2013)        End Sub    End ClassEnd Namespace
复制代码



用户头像

Geek_249eec

关注

还未添加个人签名 2022.07.13 加入

还未添加个人简介

评论

发布
暂无评论
C#/VB.NET: 为Excel表格添加超链接_C#_Geek_249eec_InfoQ写作社区