C#/VB.NET: 为Excel表格添加超链接
原创
©著作权归作者所有:来自51CTO博客作者GloriaBB的原创作品,请联系作者获取转载授权,否则将追究法律责任
超链接在本质上属于一个网页的一部分。它是指从一个网页指向另一个目标的连接关系,这个目标包括但不限于网页、电子邮件或外部文档。在Excel文档中添加超链接,可以帮助我们在查阅表格内容的同时,快速访问与表格数据相关的页面、文档等。下面,我就将利用Free Spire.XLS for .NET演示如何在C#/VB.NET程序中为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 Class
End 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 Class
End Namespace