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

IronXL permite a los desarrolladores de C# crear varios hipervínculos en celdas de Excel, incluidas direcciones URL, rutas de archivos, direcciones de correo electrónico y referencias de celdas sin utilizar Interop, lo que simplifica el proceso de añadir navegación interactiva a las hojas de cálculo.

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#. Esta funcionalidad es esencial cuando se trabaja con archivos Excel mediante programación en aplicaciones empresariales.

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 unas pocas líneas -crea el libro de trabajo, establece el valor de la celda, asigna el hipervínculo y guarda- tendrás un enlace interactivo en tu hoja de cálculo. Para una manipulación más completa de Excel, explore nuestra guía sobre edición de archivos Excel en C#.

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

¿Qué requisitos previos necesito?

Antes de implementar los hipervínculos, asegúrese de tener IronXL instalado en su proyecto .NET. También necesitará una comprensión básica de selección de rangos y gestión de hojas de trabajo en IronXL. La biblioteca es compatible con .NET Framework 4.6.2+ y .NET Core/5/6/7/8+, por lo que es compatible con la mayoría de las aplicaciones .NET modernas.


¿Cómo crear hipervínculos URL en celdas de Excel?

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

Como alternativa, puede acceder directamente a la celda mediante el método GetCellAt, que le permite acceder directamente a la propiedad Hyperlink. Este enfoque es especialmente útil cuando se trabaja con coordenadas de celdas específicas en las hojas de cálculo.

Vamos a explorar un ejemplo de creación de hipervínculos de enlace. Se admiten los protocolos HTTP y HTTPS, lo que permite enlazar con recursos web seguros y no seguros. Al crear hipervínculos, considere la posibilidad de combinarlos con formato de celda para diferenciarlos visualmente del texto normal.

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");
$vbLabelText   $csharpLabel

¿Qué ocurre cuando hago clic en el hipervínculo creado?

Al hacer clic en un hipervínculo creado con IronXL, Excel le pedirá que abra la URL vinculada en su navegador web predeterminado. La celda mantiene su valor original al tiempo que añade la funcionalidad de hipervínculo, lo que permite conservar el texto descriptivo al tiempo que permite la navegación. Este comportamiento es coherente tanto si estás trabajando con archivos Excel localmente como si estás desplegando en entornos en la nube.

Excel spreadsheet showing 'Link to rongdf.com' text in cell A1, demonstrating hyperlink creation setup

¿Cómo puedo crear hipervínculos entre diferentes hojas de cálculo?

Para crear un hipervínculo a una celda dentro de la misma hoja de cálculo, utilice la dirección de la celda, como Z20. Para crear un hipervínculo entre hojas de cálculo, utilice la convención de direcciones nombreHojaDeTrabajo!dirección. Por ejemplo, Hoja2!A1. Esta capacidad de enlace entre hojas de cálculo es esencial a la hora de crear informes complejos de Excel con varias hojas de datos.

Las celdas con nombres definidos pueden tener un alcance global o de hoja de cálculo. Para 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, especifique 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. Obtenga más información sobre cómo trabajar con rangos con nombre para la automatización avanzada de Excel.

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

¿Por qué utilizar rangos con nombre para hipervínculos?

Los rangos con nombre proporcionan hipervínculos más fáciles de mantener que sobreviven a la reestructuración de las hojas de cálculo. Al cambiar de nombre o mover celdas, los hipervínculos que apuntan a rangos con nombre se actualizan automáticamente, lo que reduce los enlaces rotos en sus aplicaciones de Excel. Este enfoque es especialmente valioso en informes dinámicos en los que las posiciones de los datos pueden cambiar.

Excel worksheet showing hyperlink setup with 'A1 of Sheet2' reference and defined name for cross-sheet linking

¿Cuál es la diferencia entre Workbook y Worksheet Scope?

Los rangos con nombre del ámbito del libro de trabajo (globales) son accesibles desde cualquier hoja de trabajo dentro del libro de trabajo, mientras que los nombres del ámbito de la hoja de trabajo sólo son accesibles dentro de su hoja de trabajo específica. Al crear hipervínculos a rangos con nombre, los nombres de ámbito del libro de trabajo proporcionan más flexibilidad, pero los nombres de ámbito de la hoja de trabajo ofrecen una mejor encapsulación de los datos específicos de la hoja. Esta distinción resulta crucial a la hora de gestionar varias hojas de cálculo en aplicaciones Excel complejas.


¿Cómo crear hipervínculos de archivos, FTP y correo electrónico?

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. Estos tipos de hipervínculos especializados amplían las capacidades de automatización de Excel más allá de los simples enlaces web.

  • FTP: Empezando por ftp:// - Enlaces a archivos en servidores FTP
  • Archivo: Especifique una ruta absoluta que comience por file:/// - Enlaces a archivos locales o de red
  • Correo electrónico: Empezando por mailto: - Crea direcciones de correo electrónico en las que se puede hacer clic

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");
$vbLabelText   $csharpLabel

¿Cuándo debo usar hipervínculos de archivo frente a hipervínculos FTP?

Utilice hipervínculos a archivos (file:///) para archivos locales o compartidos en red accesibles a través del sistema de archivos de Windows. Los hipervínculos FTP (ftp://) son ideales para enlazar con archivos en servidores FTP, sobre todo en entornos empresariales donde los documentos se almacenan en servidores de archivos dedicados. Ten en cuenta las implicaciones de seguridad cuando utilices enlaces FTP, ya que pueden transmitir credenciales en texto plano.

Other Types of Hyperlinks

¿Qué cliente de correo electrónico se abre al hacer clic en los enlaces Mailto?

Cuando los usuarios hacen clic en enlaces mailto en Excel, su cliente de correo electrónico predeterminado se abre con un nuevo mensaje pre-dirigido al correo electrónico especificado. Funciona con Outlook, Thunderbird y clientes de correo electrónico basados en web configurados por defecto en el sistema. You can enhance mailto links with subject lines and body text using standard mailto syntax: code>mailto:example@gmail.com?subject=Hello&body=Message.


¿Cómo eliminar hipervínculos de celdas de Excel?

To remove a hyperlink, invoke the RemoveHyperlink method. Este método se puede acceder desde el objeto celda. La eliminación de hipervínculos es útil a la hora de limpiar datos o convertir informes vinculados en documentos estáticos.

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

¿Quitar un hipervínculo elimina el contenido de la celda?

No, al eliminar un hipervínculo se conserva el valor y el formato de la celda. Sólo se elimina la funcionalidad de hipervínculo, dejando el texto intacto. Esto hace que sea seguro eliminar hipervínculos sin pérdida de datos, lo que es particularmente importante cuando conviertes tipos de archivos de hojas de cálculo o preparas documentos para archivarlos.

¿Cómo eliminar varios hipervínculos a la vez?

Para eliminar varios hipervínculos de forma eficaz, itere a través de un rango de celdas o utilice LINQ para procesar celdas que contengan hipervínculos:

// Remove all hyperlinks in column A
for (int i = 1; i <= 10; i++)
{
    var cell = workSheet.GetCellAt(i, 0);
    if (cell != null && !string.IsNullOrEmpty(cell.Hyperlink))
    {
        cell.RemoveHyperlink();
    }
}
// Remove all hyperlinks in column A
for (int i = 1; i <= 10; i++)
{
    var cell = workSheet.GetCellAt(i, 0);
    if (cell != null && !string.IsNullOrEmpty(cell.Hyperlink))
    {
        cell.RemoveHyperlink();
    }
}
$vbLabelText   $csharpLabel

Este enfoque es especialmente útil cuando se limpian datos importados o se preparan hojas de cálculo para su distribución en las que los hipervínculos pueden no ser apropiados. Para conocer técnicas más avanzadas de manipulación de celdas, explore nuestra guía sobre selección y trabajo con rangos.

Preguntas Frecuentes

¿Cómo se crea un hipervínculo en Excel utilizando C#?

Puede crear fácilmente hipervínculos en Excel utilizando IronXL accediendo a una celda y estableciendo su propiedad Hipervínculo. Simplemente cargue o cree un libro de trabajo, obtenga la celda deseada utilizando GetCellAt() o el indexador de hojas de trabajo, y luego asigne una cadena URL a la propiedad Hipervínculo de la celda. IronXL maneja todo el complejo formato de Excel automáticamente sin requerir Microsoft Interop.

¿Qué tipos de hipervínculos se pueden crear en las celdas de Excel?

IronXL admite la creación de varios tipos de hipervínculos, incluidos: URL web para sitios web externos, rutas de archivos para abrir archivos locales o FTP, direcciones de correo electrónico con enlaces mailto, referencias de celdas dentro de la misma hoja de trabajo y referencias a celdas de nombre definido. Todos estos tipos de hipervínculos pueden implementarse utilizando la misma propiedad Hipervínculo en IronXL.

¿Necesito tener instalado Microsoft Office para añadir hipervínculos a los archivos de Excel?

No, IronXL funciona de forma independiente sin requerir Microsoft Office o ensamblajes Interop. La biblioteca incluye todos los componentes necesarios para crear, leer y modificar archivos Excel con hipervínculos directamente en su aplicación .NET, lo que la hace ideal para entornos de servidor en los que no es factible la instalación de Office.

¿Qué marcos .NET son compatibles con la creación de hipervínculos en Excel?

IronXL es compatible con una amplia gama de marcos .NET, incluidos .NET Framework 4.6.2 y superiores, así como .NET Core, .NET 5, 6, 7 y 8+. Esta amplia compatibilidad garantiza que pueda integrar la funcionalidad de hipervínculos de IronXL tanto en aplicaciones heredadas como en proyectos .NET modernos.

¿Puedo añadir hipervínculos a archivos Excel existentes o solo a archivos nuevos?

IronXL le permite añadir hipervínculos a archivos de Excel nuevos y existentes. Puede cargar un libro de trabajo existente mediante WorkBook.Load(), acceder a cualquier celda o rango y añadir hipervínculos sin que ello afecte a otros contenidos o al formato de la hoja de cálculo. La biblioteca conserva los datos existentes mientras añade nuevos elementos interactivos.

¿Cómo accedo a una celda específica para añadir un hipervínculo?

IronXL proporciona múltiples formas de acceder a las celdas para agregar hipervínculos. Puede utilizar GetCellAt() con índices de fila y columna, o utilizar el indexador de hoja de cálculo con direcciones de celda como worksheet["A1"]. Para rangos, utilice el método First para obtener la primera celda. La biblioteca también permite seleccionar rangos para operaciones de hipervínculo por lotes.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,802,965 | Versión: 2025.12 recién lanzado