简介

超链接能够快速地将当前文本或图片链接到指定目标地址,在日常办公中给我们提供了极大的便利。本文将介绍在C#语言中如何通过免费版组件对Excel表格添加超链接,示例中将包含以下要点:

1.添加链接到网页(文本、图片)

1.1 链接到文本

1.2 链接到图片

2.添加链接到指定文档

3.添加链接到指定单元格

使用工具

PS下载安装该组件,并添加引用该组件Spire.Xls.dll到项目程序即可(如下图),dll文件可在安装路径下的Bin文件夹中获取。

示例代码操作

1.添加链接到网页

(这里分两种情况,添加文本链接和图片链接。)

1.1添加超链接到文本字符串

步骤1:创建Excel,获取工作表

Workbook wb = new Workbook();
Worksheet sheet = wb.Worksheets[];

步骤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(, , picPath);
picture.SetHyperLink("https://en.wikipedia.org/wiki/Sustainable_transport", true);

步骤3:调整图片在单元格中的位置

sheet.Columns[].ColumnWidth = ;
sheet.Rows[].RowHeight = ;
picture.TopRowOffset = ;

最后,保存文档

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[]; //获取第一个单元格添加文本并设置文本对齐方式
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(, , picPath);
picture.SetHyperLink("https://en.wikipedia.org/wiki/Sustainable_transport", true);
//设置图片在单元格中的位置
sheet.Columns[].ColumnWidth = ;
sheet.Rows[].RowHeight = ;
picture.TopRowOffset = ; //保存并打开文件
wb.SaveToFile("Hyperlink.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("Hyperlink.xlsx");
}
}
}

2.添加链接到文档

【C#】

//实例化一个Workbook类并加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[]; //设置超链接到指定单元格
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[]; //获取指定单元格,链接至指定文档中的特定单元格
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[]; //添加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超链接的全部内容。

<本文完>

如需转载,请注明出处。

C# 设置Excel超链接(二)的更多相关文章

  1. C# 设置Excel超链接(一)

    在日常工作中,在编辑文档时,为了方便自己或者Boss能够实时查看到需要的网页或者文档时,需要对在Excel中输入的相关文字设置超链接,那么对于一些在Excel中插入的图片我们该怎么实现超链接呢,下面给 ...

  2. C# 设置Excel条件格式(二)

    上一篇文章中介绍了关于设置Excel条件格式,包括基于单元格值.自定义公式等应用条件格式.应用数据条条件类型格式.删除条件格式等内容.在本篇文章中将继续介绍C# 设置条件格式的方法. 要点概述: 1. ...

  3. C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

    前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...

  4. POI中设置Excel单元格格式

    引用:http://apps.hi.baidu.com/share/detail/17249059 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWork ...

  5. poi设置excel表格边框、字体等

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  6. Java使用POI为Excel打水印,调整列宽并设置Excel只读(用户不可编辑)

    本文介绍在Java语言环境下,使用POI为Excel打水印的解决方案,具体的代码编写以及相关的注意事项. 需求描述: 要求通过系统下载的Excel都带上公司的水印,列宽调整为合适的宽度,并且设置为不可 ...

  7. POI HSSFCellStyle 设置 Excel 单元格样式

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  8. POI 设置Excel样式(转)

    POI 设置Excel样式 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSh ...

  9. Java 设置Excel单元格格式—基于Spire.Cloud.SDK for Java

    本文介绍使用Spire.Cloud.SDK for Java来设置Excel单元格格式,包括字体.字号.单元格背景.字体下滑线.字体加粗.字体倾斜.字体颜色.单元格对齐方式.单元格边框等 一.下载SD ...

随机推荐

  1. Qt5+MSVC2015环境将VS2015编写的控制台程序转化为GUI程序

    如题所述,如何将VS2015编写的控制台程序转化为Qt5+MSVC2015环境编译的GUI程序? 最近想到这个操作,类似于Linux下使用的命令行操作转到Windows下使用GUI操作,看了控制台的命 ...

  2. node.js 递归复制文件夹(附带文件过滤功能)

    1.简介: 很简单,写了一个node操作文件的小脚本,主要实现对目标文件夹中内容的复制.还顺带一个按照文件夹或者文件名过滤的功能. 2.应用场景 适合基于 node 环境的项目,项目打包的时候,配合 ...

  3. Js 运行机制和Event Loop

    一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Java ...

  4. Java spring boot 2.0连接mysql异常:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone

    解决办法:application.yml提示信息表明数据库驱动com.mysql.jdbc.Driver'已经被弃用了.应当使用新的驱动com.mysql.cj.jdbc.Driver' com.my ...

  5. Redmine 安装、搭建

    参考两个博客: 1.https://blog.csdn.net/g19881118/article/details/59476045 2.https://www.cnblogs.com/chendal ...

  6. 【RL-TCPnet网络教程】第26章 RL-TCPnet之DHCP应用

    第26章     RL-TCPnet之DHCP应用 本章节为大家讲解RL-TCPnet的DHCP应用,学习本章节前,务必要优先学习第25章的DHCP基础知识.有了这些基础知识之后,再搞本章节会有事半功 ...

  7. [Swift]LeetCode476. 数字的补数 | Number Complement

    Given a positive integer, output its complement number. The complement strategy is to flip the bits ...

  8. [Swift]LeetCode792. 匹配子序列的单词数 | Number of Matching Subsequences

    Given string S and a dictionary of words words, find the number of words[i] that is a subsequence of ...

  9. 花点时间顺顺Git(上)

    花点时间顺顺Git(上) 为了让你们点进来贼努力的想了一个色彩斑斓大吉大利的标题,好,看正文 历史:Linus的作者创建了开源的Linux,02年以前代码管理都依赖手动合并,后来管理不了了,拒绝SVN ...

  10. RabbitMQ面试题

    1.为什么要引入MQ系统,直接读写数据库不行吗?其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公 ...