Excel es una herramienta excepcional para trabajar con grandes conjuntos de datos, visualización de datos y análisis estadístico de datos. Mientras crea un informe de datos detallado en Excel, ciertos datos pueden requerir que se vinculen a fuentes de datos externas, páginas web, direcciones de correo electrónico y ubicaciones de destino en otra hoja de trabajo en el mismo libro de trabajo. Microsoft Excel proporciona todas estas opciones de hipervilización. Como desarrollador de aplicaciones .NET, puede estar interesado en proporcionar funcionalidad de hipervilización en su aplicación C#/vb.net. Puede lograr esto usando la API NPOI en su aplicación usando C# o vb.net como se muestra en este artículo.

Cómo agregar hipervínculos en Microsoft Excel

Microsoft Excel le permite crear una variedad de hipervínculos en un libro de trabajo. Éstas incluyen:

  • Vincular el texto con una URL
  • Vincular el texto a una dirección de correo electrónico
  • Crear un hipervínculo a una ubicación específica en un libro de trabajo
  • Enlace a un archivo existente Antes de que podamos escribir nuestro propio código para crear hipervínculos en un archivo de Excel, primero echemos un vistazo a cómo se crean con Microsoft Excel

Pasos para crear hipervínculos utilizando Microsoft Excel

Puede crear hipervínculos en un archivo de Excel utilizando los siguientes pasos.

Cree un enlace a un archivo existente a la página web

  1. En una hoja de trabajo, haga clic en la celda donde desea crear un enlace.
  2. En la pestaña Insertar , en el grupo Enlaces , haga clic en Enlace
  3. En el enlace, haga clic en Archivo o página web existente.
    • Para seleccionar un archivo, haga clic en la carpeta actual y luego haga clic en el archivo al que desea vincular.
    • Puede cambiar la carpeta actual seleccionando una carpeta diferente en la lista Look-In.
    • Para seleccionar una página web, haga clic en las páginas navegadas y luego haga clic en la página web a la que desea vincular.
    • Para seleccionar un archivo que usó recientemente, haga clic en archivos recientes y luego haga clic en el archivo al que desea vincular.
    • Para ingresar el nombre y la ubicación de un archivo o página web conocida a la que desea vincular, escriba esa información en el cuadro de dirección.
    • Para localizar una página web, haga clic en Examinar la web, abrir la página web a la que desea vincular y luego volver a Excel sin cerrar su navegador.

Cree un enlace a una dirección de correo electrónico

Para hipervínculo a una dirección de correo electrónico en Excel, puede seguir estos pasos:

  1. Abra su hoja de cálculo de Excel y navegue a la celda donde desea crear el hipervínculo.
  2. Seleccione la celda y haga clic con el botón derecho. Elija “Hyperlink” en el menú contextual. Alternativamente, también puede hacer clic en la pestaña “Insertar” en la cinta de Excel, y luego hacer clic en el botón “Hyperlink”.
  3. Aparecerá el cuadro de diálogo “Insertar Hyperlink”. En el panel izquierdo, seleccione “Dirección de correo electrónico”.
  4. En el campo “Dirección de correo electrónico”, ingrese la dirección de correo electrónico a la que desea hipervínculo. Por ejemplo, puede ingresar “mailto: ejemplo@example.com” (reemplace “ejemplo@example.com” con la dirección de correo electrónico deseada).
  5. Opcionalmente, puede ingresar un nombre o texto amigable que se mostrará para el hipervínculo en el campo “Texto para mostrar”. Esto puede ser algo así como “enviar correo electrónico” o la dirección de correo electrónico real en sí.
  6. Haga clic en el botón “Aceptar” para crear el hipervínculo.
  7. La celda ahora mostrará la dirección de correo electrónico como un hipervínculo. Puede hacer clic en él y su cliente de correo electrónico predeterminado se abrirá con una nueva dirección de correo electrónico a la dirección de correo electrónico especificada.

Cree un enlace a una ubicación específica en un libro de trabajo

Para crear un enlace a una ubicación específica dentro de un libro de trabajo en Excel, puede usar los siguientes pasos:

  1. Abra su hoja de cálculo de Excel y navegue a la celda o el rango a la que desea vincular.
  2. Haga clic derecho en la celda o el rango y seleccione “Copiar” en el menú contextual. Alternativamente, puede presionar CTRL+C en su teclado para copiar la celda o el rango.
  3. Muévase a la ubicación donde desea crear el enlace.
  4. Haga clic con el botón derecho en la celda donde desea crear el enlace y seleccione “Hyperlink” en el menú contextual. También puede ir a la pestaña “Insertar” en la cinta de Excel y hacer clic en el botón “Hyperlink”.
  5. Aparecerá el cuadro de diálogo “Insertar Hyperlink”. En el panel izquierdo, seleccione “Coloque en este documento”.
  6. En el campo “Escriba la referencia de la celda”, Excel debe mostrar automáticamente la referencia a la celda o el rango que copió en el paso 2. Si no, puede ingresar manualmente la referencia en el formato “Hojas de hojas! Rangeference “. Por ejemplo, “Sheet1! A1” o “Hoja2! B2: E5”.
  7. Opcionalmente, puede ingresar un nombre o texto amigable para el enlace en el campo “Texto para mostrar”.
  8. Haga clic en el botón “Aceptar” para crear el hipervínculo.
  9. La celda ahora mostrará el enlace a la ubicación específica dentro del libro de trabajo. Al hacer clic en él, lo llevará directamente a la celda o el rango referenciado.

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

Ahora que hemos visto cómo agregar hipervínculos con Microsoft Excel, veamos ahora cómo podemos hacer lo mismo en nuestra aplicación .NET. Usaremos la API de código abierto NPOI para .NET para este propósito y escribiremos el código en C#. Pero antes de eso, necesitamos instalar NPOI en nuestro proyecto .NET para comenzar. Puede aprender sobre esto en nuestra Guía de instrucciones detalladas para Instalar NPOI para .NET.

//Create a workbook object
    IWorkbook wb = new XSSFWorkbook();
    //Create a worksheet
    ISheet sheet = wb.CreateSheet("Hyperlinks");
    //Define Cell style for hyperlinks..by default thee are blue and hyperlinked
    ICellStyle hlink_style = wb.CreateCellStyle();
    IFont hlink_font = wb.CreateFont();
    hlink_font.Underline = FontUnderlineType.Single;
    hlink_font.Color = HSSFColor.Blue.Index;
    hlink_style.SetFont(hlink_font);
    ICell cell;
    //URL Hyperlink
    cell = sheet.CreateRow(0).CreateCell(0);
    cell.SetCellValue("URL Link");
    XSSFHyperlink link = new XSSFHyperlink(HyperlinkType.Url);
    link.Address = ("https://www.fileformat.com/");
    cell.Hyperlink = (link);
    cell.CellStyle = (hlink_style);
    //link to a file in the current directory
    cell = sheet.CreateRow(1).CreateCell(0);
    cell.SetCellValue("File Link");
    link = new XSSFHyperlink(HyperlinkType.File);
    link.Address = ("FileFormat.xlsx");
    cell.Hyperlink = (link);
    cell.CellStyle = (hlink_style);
    //e-mail link
    cell = sheet.CreateRow(2).CreateCell(0);
    cell.SetCellValue("Email Link");
    link = new XSSFHyperlink(HyperlinkType.Email);
    //note, if subject contains white spaces, make sure they are url-encoded
    link.Address = ("mailto:info@fileformat.com?subject=FileForamts");
    cell.Hyperlink = (link);
    cell.CellStyle = (hlink_style);
    //Create a target sheet and cell
    ISheet sheet2 = wb.CreateSheet("Sheet2");
    sheet2.CreateRow(0).CreateCell(0).SetCellValue("Target ICell");
    cell = sheet.CreateRow(3).CreateCell(0);
    cell.SetCellValue("Worksheet Link");
    link = new XSSFHyperlink(HyperlinkType.Document);
    link.Address = ("'Sheet2'!A1");
    cell.Hyperlink = (link);
    cell.CellStyle = (hlink_style);
    using (FileStream sw = File.Create("test.xlsx"))
    {
        wb.Write(sw, false);
    }

Conclusión

En este artículo, mostramos cómo agregar diferentes tipos de hipervínculos en un archivo XLSX desde su aplicación .NET utilizando la API NPOI. Puede obtener más información sobre el uso de API NPOI para hojas de cálculo para usar la API en sus aplicaciones C#/VB.NET. Para más ejemplos, estad atentos.