Cómo crear hipervínculos

por Chaknith Bin

Los hipervínculos de Excel proporcionan referencias en las que se puede hacer clic a ubicaciones dentro del libro, archivos diferentes, páginas web o direcciones de correo electrónico. Mejoran la navegación y permiten acceder rápidamente a información relacionada y recursos externos. Los hipervínculos crean hojas de cálculo interactivas y fáciles de usar, facilitando el acceso a datos adicionales o contenidos externos.

IronXL permite crear hipervínculos para URL, abrir archivos externos tanto locales como FTP (Protocolo de transferencia de archivos) y celdas de nombres definidos sin el uso de Interop en .NET C#.


Biblioteca NuGet C# para Excel

Instalar con NuGet

Install-Package IronXL.Excel
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Crear enlace Ejemplo de hipervínculo

La propiedad Hyperlink existe en la clase Cell. La hoja de trabajo ["A1"] devuelve un objeto Rango, puede utilizar el método First para acceder a la primera celda del rango.

Alternativamente, puede acceder directamente a la celda utilizando el método GetCellAt, permitiéndole acceder directamente a la propiedad Hyperlink.

Veamos un ejemplo de creación de hiperenlaces. Se admiten los protocolos HTTP y HTTPS.

Antes de seguir
El uso del método GetCellAt para seleccionar una celda no modificada lanzará una *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;

//  Modificar la propiedad de la celda
workSheet["A1"].Value = "Link to ironpdf.com";

//  Establecer hipervínculo en A1 a 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

'  Modificar la propiedad de la celda
Private workSheet("A1").Value = "Link to ironpdf.com"

'  Establecer hipervínculo en A1 a https://ironpdf.com/
workSheet.GetCellAt(0, 0).Hyperlink = "https://ironpdf.com/"

workBook.SaveAs("setLinkHyperlink.xlsx")
VB   C#

Demostración

Enlace Hiperenlace

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

Para crear un hipervínculo a una celda dentro de la misma hoja de cálculo, basta con utilizar la dirección de la celda, por ejemplo Z20. Sin embargo, para crear un hipervínculo entre hojas de cálculo, puede utilizar la convención de direcciones "nombreHojaTrabajo!dirección". Por ejemplo, "Hoja2!A1".

Definir celdas de nombre puede tener tanto libro de trabajo(global) o ámbito de la hoja de cálculo. Si desea crear un hipervínculo a un nombre definido dentro de la misma hoja de cálculo o a un nombre definido con ámbito de libro de trabajo, puede especificar el nombre directamente. Para crear un hipervínculo para un nombre definido con ámbito de hoja de cálculo en una hoja de cálculo diferente, especifique el nombre de la hoja de cálculo como se ha mencionado anteriormente. Por ejemplo, "Hoja2!Hierro".

: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");

//  Crear libro de trabajo(global) definir nombre
workSheet1["D5"].SaveAsNamedRange("Iron", true);

//  Crear hoja de cálculo definir nombre
workSheet2["D10"].SaveAsNamedRange("Hello", false);

//  --== Dentro de la misma hoja de cálculo ==--
//  Establecer hipervínculo a la celda Z20
workSheet1["A1"].Value = "Z20";
workSheet1["A1"].First().Hyperlink = "Z20";

//  Establecer hipervínculo para definir el nombre "Hierro"
workSheet1["A2"].Value = "Iron";
workSheet1["A2"].First().Hyperlink = "Iron";

//  --== A través de la hoja de trabajo ==--
//  Establecer hipervínculo a la celda A1 de la Hoja2
workSheet1["A3"].Value = "A1 of Sheet2";
workSheet1["A3"].First().Hyperlink = "Sheet2!A1";

//  Establecer hipervínculo para definir el nombre "Hola" de la Hoja2
workSheet1["A4"].Value = "Define name Hello of Sheet2";
workSheet1["A4"].First().Hyperlink = "Sheet2!Hello";

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

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

'  Crear libro de trabajo(global) definir nombre
workSheet1("D5").SaveAsNamedRange("Iron", True)

'  Crear hoja de cálculo definir nombre
workSheet2("D10").SaveAsNamedRange("Hello", False)

'  --== Dentro de la misma hoja de cálculo ==--
'  Establecer hipervínculo a la celda Z20
workSheet1("A1").Value = "Z20"
workSheet1("A1").First().Hyperlink = "Z20"

'  Establecer hipervínculo para definir el nombre "Hierro"
workSheet1("A2").Value = "Iron"
workSheet1("A2").First().Hyperlink = "Iron"

'  --== A través de la hoja de trabajo ==--
'  Establecer hipervínculo a la celda A1 de la Hoja2
workSheet1("A3").Value = "A1 of Sheet2"
workSheet1("A3").First().Hyperlink = "Sheet2!A1"

'  Establecer hipervínculo para definir el nombre "Hola" de la Hoja2
workSheet1("A4").Value = "Define name Hello of Sheet2"
workSheet1("A4").First().Hyperlink = "Sheet2!Hello"

workBook.SaveAs("setHyperlinkAcrossWorksheet.xlsx")
VB   C#

Demostración

Hipervínculo a través de la hoja de cálculo

Crear otros tipos de hipervínculos Ejemplo

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 electrónico.

  • FTP: A partir de ftp://
  • Fichero: Especifique una ruta absoluta que empiece por fichero:///
  • Correo electrónico: Empezando por mailto:

    Tenga en cuenta
    Tanto los hipervínculos FTP como los 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;

//  Establecer hipervínculo para abrir el archivo sample.xlsx
workSheet["A1"].Value = "Open sample.xslx";
workSheet["A1"].First().Hyperlink = "ftp://C:/Usuarios/muestra.xlsx";

//  Establecer hipervínculo para abrir el archivo sample.xlsx
workSheet["A2"].Value = "Open sample.xslx";
workSheet["A2"].First().Hyperlink = "file:///C:/Usuarios/muestra.xlsx";

//  Establecer hipervínculo al correo electrónico example@gmail.com
workSheet["A3"].Value = "example@gmail.com";
workSheet["A3"].First().Hyperlink = "mailto:example@gmail.com";

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

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

'  Establecer hipervínculo para abrir el archivo sample.xlsx
Private workSheet("A1").Value = "Open sample.xslx"
workSheet("A1").First().Hyperlink = "ftp://C:/Usuarios/muestra.xlsx"

'  Establecer hipervínculo para abrir el archivo sample.xlsx
workSheet("A2").Value = "Open sample.xslx"
workSheet("A2").First().Hyperlink = "file:///C:/Usuarios/muestra.xlsx"

'  Establecer hipervínculo al correo electrónico example@gmail.com
workSheet("A3").Value = "example@gmail.com"
workSheet("A3").First().Hyperlink = "mailto:example@gmail.com"

workBook.SaveAs("setOtherHyperlink.xlsx")
VB   C#

Demostración

Otros tipos de hipervínculos

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.