简介
超链接能够快速地将当前文本或图片链接到指定目标地址,在日常办公中给我们提供了极大的便利。本文将介绍在C#语言中如何通过免费版组件对Excel表格添加超链接,示例中将包含以下要点:
1.添加链接到网页(文本、图片)
1.1 链接到文本
1.2 链接到图片
2.添加链接到指定文档
3.添加链接到指定单元格
使用工具
Visual Studio
PS:下载安装该组件,并添加引用该组件Spire.Xls.dll到项目程序即可(如下图),dll文件可在安装路径下的Bin文件夹中获取。
示例代码操作
1.添加链接到网页
(这里分两种情况,添加文本链接和图片链接。)
1.1添加超链接到文本字符串
步骤1:创建Excel,获取工作表
Workbook wb = new Workbook(); Worksheet sheet = wb.Worksheets[0];
步骤2:获取单元格,添加文本并设置对齐方式
sheet.Range["A1"].Text = "绿色交通(Green Transpotation)"; sheet.Range["A1"].Style.VerticalAlignment = VerticalAlignType.Bottom;
步骤3:设置超链接到指定单元格
HyperLink UrlLink = sheet.HyperLinks.Add(sheet.Range["A1"]); UrlLink.TextToDisplay = sheet.Range["A1"].Text; UrlLink.Type = HyperLinkType.Url; UrlLink.Address = "https://baike.baidu.com/item";
1.2 链接到图片
步骤1:初始化一个string类,加载图片
string picPath = @"C:\Users\Administrator\Desktop\images\th.jpg";
步骤2:将图片添加到A1单元格,并设置超链接
ExcelPicture picture = sheet.Pictures.Add(1, 1, picPath); picture.SetHyperLink("https://en.wikipedia.org/wiki/Sustainable_transport", true);
步骤3:调整图片在单元格中的位置
sheet.Columns[0].ColumnWidth = 28; sheet.Rows[0].RowHeight = 100; picture.TopRowOffset = 30;
最后,保存文档
wb.SaveToFile("Hyperlink.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("Hyperlink.xlsx");
调试运行该项目程序后,生成文档,如下图所示:
全部代码:
using Spire.Xls;namespace TextHyperlink_XLS { class Program { static void Main(string[] args) { //添加文本超链接 //创建一个Workbook类对象,获取第一个工作表 Workbook wb = new Workbook(); Worksheet sheet = wb.Worksheets[0]; //获取第一个单元格添加文本并设置文本对齐方式 sheet.Range["A1"].Text = "绿色交通(Green Transpotation)"; sheet.Range["A1"].Style.VerticalAlignment = VerticalAlignType.Bottom; //创建一个超链接类对象,在A1单元格设置文本超链接 HyperLink UrlLink = sheet.HyperLinks.Add(sheet.Range["A1"]); UrlLink.TextToDisplay = sheet.Range["A1"].Text; UrlLink.Type = HyperLinkType.Url; UrlLink.Address = "https://baike.baidu.com/item"; //添加图片超链接。 //初始化一个string类,加载图片 string picPath = @"C:\Users\Administrator\Desktop\images\th.jpg"; //将图片添加到A1单元格,并设置超链接 ExcelPicture picture = sheet.Pictures.Add(1, 1, picPath); picture.SetHyperLink("https://en.wikipedia.org/wiki/Sustainable_transport", true); //设置图片在单元格中的位置 sheet.Columns[0].ColumnWidth = 28; sheet.Rows[0].RowHeight = 100; picture.TopRowOffset = 30; //保存并打开文件 wb.SaveToFile("Hyperlink.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("Hyperlink.xlsx"); } } }
View Code
2.添加链接到文档
【C#】
//实例化一个Workbook类并加载Excel文档Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");//获取第一个工作表Worksheet sheet = workbook.Worksheets[0];//设置超链接到指定单元格CellRange range = sheet.Range["E2"]; HyperLink FileLink = sheet.HyperLinks.Add(range); FileLink.Type = HyperLinkType.File; FileLink.TextToDisplay = sheet.Range["E2"].Text; FileLink.Address = @"C:\Users\Administrator\Desktop\test.docx";//保存并打开文档workbook.SaveToFile("FileLink.xlsx"); System.Diagnostics.Process.Start("FileLink.xlsx");
效果示例:
3.添加链接到指定单元格
【C#】
//新建一个Excel类对象,加载Excel文档,获取第一个工作表Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx"); Worksheet sheet = workbook.Worksheets[0];//获取指定单元格,链接至指定文档中的特定单元格CellRange range = sheet.Range["E2"]; HyperLink WbLink = sheet.HyperLinks.Add(range); WbLink.Type = HyperLinkType.Workbook; WbLink.TextToDisplay = "已清算"; WbLink.Address = "A账目明细!A1";//保存并打开文档workbook.SaveToFile("LinktoCell.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("LinktoCell.xlsx");
效果展示:
4.添加链接Unc路径
【C#】
//创建一个Workbook类对象,加载Excel文档,获取第二个工作表Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx"); Worksheet sheet = workbook.Worksheets[1];//添加Unc链接至A1单元格,设置连接类型为Unc,添加显示文本及链接路径CellRange range = sheet.Range["A1"]; HyperLink UncLink = sheet.HyperLinks.Add(range); UncLink.Type = HyperLinkType.Unc; UncLink.TextToDisplay = "地址"; UncLink.Address = "\\192.168.1.118";//保存文档workbook.SaveToFile("LinktoUnc.xls");
效果示例:
以上是关于添加Excel超链接的全部内容。
<本文完>