Cómo crear hipervínculos en Excel usando C#

How to Create Hyperlink

This article was translated from English: Does it need improvement?
Translated
View the article in English

Excel hyperlinks provide clickable references to locations within the workbook, different files, web pages, or email addresses. They enhance navigation, allowing quick access to related information and external resources. Hyperlinks create interactive and user-friendly spreadsheets, facilitating easy access to additional data or external content.

IronXL enables the creation of hyperlinks for URLs, opening external files from both local and FTP (File Transfer Protocol) file systems, email addresses, cell addresses, and defined name cells without the use of Interop in .NET C#.

Quickstart: Add a Hyperlink with IronXL in Just a Few Steps

This example shows how easy it is to add a web hyperlink to an Excel cell using IronXL. In just a couple of lines––create the workbook, set the cell value, assign the hyperlink, and save––you’ll have an interactive link in your spreadsheet.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    IronXL.WorkBook workbook = IronXL.WorkBook.Create(IronXL.ExcelFileFormat.XLSX);
    workbook.DefaultWorkSheet.GetCellAt(0, 0).Value = "Visit IronXL Docs";
    workbook.DefaultWorkSheet.GetCellAt(0, 0).Hyperlink = "https://ironsoftware.com";
    workbook.SaveAs("hyperlink_quick.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer

Get started with IronXL

Comience a usar IronXL en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer


The Hyperlink property exists in the Cell class. The worksheet["A1"] code returns a Range object, you can use the First method to access the first cell in the range.

Alternatively, you can directly access the cell using the GetCellAt method, allowing you to access the Hyperlink property directly.

Let's explore an example of creating link hyperlinks. Both HTTP and HTTPS protocols are supported.

AdvertenciaUsing the GetCellAt method to select an unmodified cell will throw System.NullReferenceException: 'Object reference not set to an instance of an object.'

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-link-hyperlink.cs
using IronXL;

WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Modify the cell's property
workSheet["A1"].Value = "Link to ironpdf.com";

// Set hyperlink at A1 to https://ironpdf.com/
workSheet.GetCellAt(0, 0).Hyperlink = "https://ironpdf.com/";

workBook.SaveAs("setLinkHyperlink.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Modify the cell's property
Private workSheet("A1").Value = "Link to ironpdf.com"

' Set hyperlink at A1 to https://ironpdf.com/
workSheet.GetCellAt(0, 0).Hyperlink = "https://ironpdf.com/"

workBook.SaveAs("setLinkHyperlink.xlsx")
$vbLabelText   $csharpLabel

Demonstration

Link Hyperlink

To create a hyperlink to a cell within the same worksheet, simply use the cell's address, such as Z20. However, to create a hyperlink across worksheets, you can use the address convention "worksheetName!address". For example, "Sheet2!A1".

Define name cells can have either workbook(global) or worksheet scope. If you want to create a hyperlink to a defined name within the same worksheet or a defined name with workbook scope, you can specify the name directly. To create a hyperlink for a defined name with worksheet scope on a different worksheet, specify the worksheet name as mentioned above. For example, "Sheet2!Iron".

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-hyperlink-across-worksheet.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet1 = workBook.CreateWorkSheet("Sheet1");
WorkSheet workSheet2 = workBook.CreateWorkSheet("Sheet2");

// Create workbook(global) define name
workSheet1["D5"].SaveAsNamedRange("Iron", true);

// Create worksheet define name
workSheet2["D10"].SaveAsNamedRange("Hello", false);

// --== Within the same worksheet ==--
// Set hyperlink to cell Z20
workSheet1["A1"].Value = "Z20";
workSheet1["A1"].First().Hyperlink = "Z20";

// Set hyperlink to define name "Iron"
workSheet1["A2"].Value = "Iron";
workSheet1["A2"].First().Hyperlink = "Iron";

// --== Across worksheet ==--
// Set hyperlink to cell A1 of Sheet2
workSheet1["A3"].Value = "A1 of Sheet2";
workSheet1["A3"].First().Hyperlink = "Sheet2!A1";

// Set hyperlink to define name "Hello" of Sheet2
workSheet1["A4"].Value = "Define name Hello of Sheet2";
workSheet1["A4"].First().Hyperlink = "Sheet2!Hello";

workBook.SaveAs("setHyperlinkAcrossWorksheet.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Demonstration

Hyperlink Across Worksheet

In addition to the hyperlink types mentioned earlier, IronXL also supports the creation of FTP, file, and email hyperlinks.

  • FTP: Starting with ftp://
  • File: Specify an absolute path starting with file:///
  • Email: Starting with mailto:

Por favor notaBoth FTP and File hyperlinks require the use of absolute paths.

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-set-other-hyperlink.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set hyperlink to open file sample.xlsx
workSheet["A1"].Value = "Open sample.xslx";
workSheet["A1"].First().Hyperlink = "ftp://C:/Users/sample.xlsx";

// Set hyperlink to open file sample.xlsx
workSheet["A2"].Value = "Open sample.xslx";
workSheet["A2"].First().Hyperlink = "file:///C:/Users/sample.xlsx";

// Set hyperlink to email example@gmail.com
workSheet["A3"].Value = "example@gmail.com";
workSheet["A3"].First().Hyperlink = "mailto:example@gmail.com";

workBook.SaveAs("setOtherHyperlink.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Demonstration

Other Types of Hyperlinks

To remove a hyperlink, simply invoke the RemoveHyperlink method. This method can be accessed from the cell object.

:path=/static-assets/excel/content-code-examples/how-to/hyperlinks-remove-hyperlink.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("setLinkHyperlink.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove hyperlink
workSheet["A1"].First().RemoveHyperlink();

workBook.SaveAs("removeHyperlink.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("setLinkHyperlink.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove hyperlink
workSheet("A1").First().RemoveHyperlink()

workBook.SaveAs("removeHyperlink.xlsx")
$vbLabelText   $csharpLabel

Preguntas Frecuentes

¿Cómo puedo agregar hipervínculos a las celdas de Excel usando C#?

Puedes agregar hipervínculos a las celdas de Excel usando IronXL configurando la propiedad Hyperlink de una celda a un objeto Uri que contenga el enlace deseado. Esto te permite crear referencias clicables a sitios web, correos electrónicos y archivos.

¿Qué tipos de hipervínculos se pueden crear en Excel usando una biblioteca .NET?

Usando IronXL, puedes crear hipervínculos a URLs HTTP y HTTPS, enlaces FTP, rutas de archivos locales, direcciones de correo electrónico e incluso direcciones de celdas dentro de la misma o de diferentes hojas de cálculo.

¿Cómo se crea un hipervínculo a una celda en una hoja diferente usando C#?

Para crear un hipervínculo a una celda en una hoja diferente usando IronXL, usas el formato de dirección worksheetName!cellAddress. Por ejemplo, para enlazar a la celda A1 en Sheet2, usa Sheet2!A1.

¿Puedo eliminar un hipervínculo de una celda de Excel programáticamente?

Sí, puedes eliminar un hipervínculo de una celda de Excel usando IronXL invocando el método RemoveHyperlink en el objeto de celda respectivo.

¿Cuál es la ventaja de usar IronXL para establecer hipervínculos en Excel sobre los métodos tradicionales?

Usar IronXL para establecer hipervínculos en Excel elimina la necesidad de Excel Interop, haciendo el proceso más rápido y eficiente dentro de las aplicaciones .NET, sin depender de que Excel esté instalado en el servidor.

¿Cómo puedo crear un hipervínculo de correo electrónico en un archivo de Excel usando C#?

Para crear un hipervínculo de correo electrónico en un archivo de Excel usando IronXL, configura la propiedad Hyperlink a un objeto Uri que comience con el esquema 'mailto:' seguido de la dirección de correo electrónico.

¿Es posible crear hipervínculos FTP y de archivos usando una biblioteca .NET?

Sí, IronXL te permite crear hipervínculos FTP comenzando con 'ftp://' y hipervínculos de archivos usando una ruta absoluta que comience con 'file:///'.

¿Cómo puedo crear un hipervínculo a una celda de nombre definido en Excel usando C#?

Puedes crear un hipervínculo a una celda de nombre definido usando IronXL especificando el nombre definido directamente si tiene alcance de libro de trabajo, o incluyendo el nombre de la hoja como worksheetName!definedName si tiene alcance de hoja de trabajo.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,686,155 | Versión: 2025.11 recién lanzado