简介

超链接能够快速地将当前文本或图片链接到指定目标地址,在日常办公中给我们提供了极大的便利。本文将介绍在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. 虚拟机桥接模式联网方法,Xshell的连接与使用

    1.虚拟机的编辑中的虚拟网络编译器,新建一个VMnet0,选择桥接模式,选择上网时的网卡. 2.虚拟机 -> 设置 -> 网络适配器,选择启动时连接,桥接模式,复制物理网络连接状态. 3. ...

  2. nova vnc proxy基本原理

    先上图 VNC Proxy的功能: 将公网(public network)和私网(private network)隔离 VNC client运行在公网上,VNCServer运行在私网上,VNC Pro ...

  3. 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. [Swift]LeetCode655. 输出二叉树 | Print Binary Tree

    Print a binary tree in an m*n 2D string array following these rules: The row number m should be equa ...

  5. MyBatis 处理关系运算符

    MyBatis mapper文件是xml文件,使用关系运算符需要进行转义. 关系运算符 转义后字符 < < <= <= > > > >=

  6. iOS模拟器使用

    在iOS开发过程中一直都是使用模拟器进行调试,在模拟器上有很多不适应的地方,但是其实在模拟器上也有很多其他的功能,在本文中主要对模拟器的一些基本功能进行总结一下. 1 首先,我们了解一下模拟器中常用的 ...

  7. java8新特征

    一:Lambda 表达式 为什么使用    :使用 Lambda 表达式可以使代码变的更加简洁紧凑. 表达了什么?: 匿名内部类的新写法: 语法 :(parameters) -> express ...

  8. 第一次c语言上机

    实验结论 part1: 第一部分的内容是按照书上所给的例题,进行简单的验证.虽然听起来很简单,但是由于之前并未接触过这方面的内容,还是犯了很多微小的错误.主要是在进行编程语言的输入时会输错字母,会忘记 ...

  9. MySQL将utf8字符集改为utf8mb4

    前言 今天在查看tomcat日志时发现了一个错误:Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0 ...

  10. python 菱形继承问题究极版

    如果只是正常的菱形继承,经典类(python2中最后一个父类不继承object类)是深度优先,即会从左边父类开始一路走到底 新式类(最后一个父类继承了object类)是广度优先,即从左边父类开始继承, ...