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

Cómo crear hipervínculos en Excel con C

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

Los hipervínculos de Excel proporcionan referencias clicables a ubicaciones dentro del libro, diferentes archivos, páginas web o direcciones de correo electrónico. Mejoran la navegación, permitiendo acceso rápido a información relacionada y recursos externos. Los hipervínculos crean hojas de cálculo interactivas y de fácil uso, facilitando el acceso a datos adicionales o contenido externo.

IronXL permite la creación de hipervínculos para URLs, abriendo archivos externos desde sistemas de archivos locales y FTP (Protocolo de Transferencia de Archivos), direcciones de correo electrónico, direcciones de celdas y celdas con nombre definido sin el uso de Interop en .NET C#.

Inicio rápido: Agregar un Hipervínculo con IronXL en Solo unos Pasos

Este ejemplo muestra lo fácil que es agregar un hipervínculo web a una celda de Excel usando IronXL. En solo un par de líneas––crear el libro, establecer el valor de la celda, asignar el hipervínculo, y guardar––tendrás un enlace interactivo en tu hoja de cálculo.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    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. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Comience a utilizar IronXL

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

Primer Paso:
green arrow pointer


Ejemplo de creación de hipervínculo de enlace

La propiedad Hyperlink existe en la clase Cell. El código worksheet["A1"] devuelve un objeto Range, puedes usar el método First para acceder a la primera celda en el rango.

Alternativamente, puedes acceder directamente a la celda usando el método GetCellAt, permitiéndote acceder directamente a la propiedad Hyperlink.

Vamos a explorar un ejemplo de creación de hipervínculos de enlace. Se admiten ambos protocolos HTTP y HTTPS.

AdvertenciaAl usar el método GetCellAt para seleccionar una celda no modificada, se generará una excepción System.NullReferenceException: 'Referencia de objeto no establecida a una instancia de un objeto'.

: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

Demostración

Link Hyperlink

Ejemplo de creación de hipervínculo en una hoja de cálculo

Para crear un hipervínculo a una celda dentro de la misma hoja, simplemente usa la dirección de la celda, como Z20. Sin embargo, para crear un hipervínculo a través de hojas, puedes usar la convención de dirección "nombreHoja!dirección". Por ejemplo, "Sheet2!A1".

Las celdas con nombre definido pueden tener ámbito de libro (global) o de hoja. Si deseas crear un hipervínculo a un nombre definido dentro de la misma hoja o un nombre definido con ámbito de libro, puedes especificar el nombre directamente. Para crear un hipervínculo para un nombre definido con ámbito de hoja en una hoja diferente, especifica el nombre de la hoja como se mencionó anteriormente. Por ejemplo, "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

Demostración

Hyperlink Across Worksheet

Ejemplo de creación de otros tipos de hipervínculos

Además de los tipos de hipervínculos mencionados anteriormente, IronXL también admite la creación de hipervínculos FTP, de archivo y de correo.

  • FTP: Empezando con ftp://
  • Archivo: Especificar una ruta absoluta comenzando con file:///
  • Correo: Empezando con mailto:

Por favor notaLos hipervínculos FTP y de archivos requieren el uso de rutas absolutas.

: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

Demostración

Other Types of Hyperlinks

Eliminar hipervínculos

Para eliminar un hipervínculo, simplemente invoca el método RemoveHyperlink. Este método se puede acceder desde el objeto celda.

: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,738,553 | Version: 2025.11 recién lanzado