O Excel é uma ferramenta excepcional para trabalhar com grandes conjuntos de dados, visualização de dados e análise estatística dos dados. Ao criar um relatório de dados detalhado no Excel, certos dados podem precisar estar vinculados a fontes de dados externas, páginas da Web, endereços de email e locais de destino em outra planilha na mesma pasta de trabalho. A Microsoft Excel fornece todas essas opções de hiperlinking. Como desenvolvedor de aplicativos .NET, você pode estar interessado em fornecer funcionalidade de hiperlância no seu aplicativo C#/VB.NET. Você pode conseguir isso usando a API NPOI em seu aplicativo usando c# ou vb.net como mostrado neste artigo.

O Microsoft Excel permite criar uma variedade de hiperlinks em uma pasta de trabalho. Esses incluem:

  • Vinculando texto a um URL
  • Vinculando texto a um endereço de e -mail
  • Criando um hiperlink para um local específico em uma pasta de trabalho
  • Link para um arquivo existente Antes que possamos escrever nosso próprio código para criar hiperlinks em um arquivo do Excel, vamos primeiro dar uma olhada em como eles são criados usando o Microsoft Excel

Você pode criar hiperlinks em um arquivo do Excel usando as seguintes etapas.

  1. Em uma planilha, clique na célula onde deseja criar um link.
  2. Na guia Inserir , no grupo Links , clique em Link
  3. No link, clique em Arquivo ou página da Web existente.
    • Para selecionar um arquivo, clique em Pasta atual e clique no arquivo ao qual deseja vincular.
    • Você pode alterar a pasta atual selecionando uma pasta diferente na lista de looks.
    • Para selecionar uma página da Web, clique em Páginas navegadas e clique na página da Web para a qual você deseja vincular.
    • Para selecionar um arquivo que você usou recentemente, clique em Arquivos recentes e clique no arquivo ao qual deseja vincular.
    • Para inserir o nome e o local de um arquivo ou página da Web conhecidos para o qual você deseja vincular, digite essas informações na caixa de endereço.
    • Para localizar uma página da Web, clique em Procurar a Web, abra a página da web para a qual deseja vincular e depois volte para o Excel sem fechar o navegador.

Para hiperlink para um endereço de e -mail no Excel, você pode seguir estas etapas:

  1. Abra sua planilha do Excel e navegue até a célula onde deseja criar o hiperlink.
  2. Selecione a célula e clique com o botão direito do mouse nela. Escolha “Hyperlink” no menu de contexto. Como alternativa, você também pode clicar na guia “Inserir” na fita do Excel e clicar no botão “Hyperlink”.
  3. A caixa de diálogo “Inserir hiperlink” aparecerá. No painel esquerdo, selecione “Endereço de e -mail”.
  4. No campo “Endereço de email”, digite o endereço de email para o qual deseja hiperlink. Por exemplo, você pode inserir “Mailto: exemplo@example.com” (substitua “exemplo@example.com” pelo endereço de e -mail desejado).
  5. Opcionalmente, você pode inserir um nome ou texto amigável que será exibido para o hiperlink no campo “Texto para exibir”. Isso pode ser algo como “Enviar email” ou o próprio endereço de email.
  6. Clique no botão “OK” para criar o hiperlink.
  7. A célula agora exibirá o endereço de email como um hiperlink. Você pode clicar nele e seu cliente de email padrão abrirá com um novo endereço de email para o endereço de email especificado.

Para criar um link para um local específico em uma pasta de trabalho no Excel, você pode usar as seguintes etapas:

  1. Abra sua planilha do Excel e navegue até a célula ou o alcance para o qual deseja vincular.
  2. Clique com o botão direito do mouse na célula ou na faixa e selecione “Copiar” no menu de contexto. Como alternativa, você pode pressionar Ctrl+C no teclado para copiar a célula ou o alcance.
  3. Vá para o local onde deseja criar o link.
  4. Clique com o botão direito do mouse na célula onde você deseja criar o link e selecionar “Hyperlink” no menu de contexto. Você também pode acessar a guia “Inserir” na fita do Excel e clicar no botão “Hyperlink”.
  5. A caixa de diálogo “Inserir hiperlink” aparecerá. No painel esquerdo, selecione “Coloque neste documento”.
  6. No campo “Digite a referência da célula”, o Excel deve exibir automaticamente a referência à célula ou alcance que você copiou na etapa 2. Caso contrário, você pode inserir manualmente a referência no formato “SheetName! Celreference” ou “SheetName! Rangereference ”. Por exemplo, “Sheet1! A1” ou “Sheet2! B2: E5”.
  7. Opcionalmente, você pode inserir um nome ou texto amigável para o link no campo “Texto para exibir”.
  8. Clique no botão “OK” para criar o hiperlink.
  9. A célula agora exibirá o link para o local específico dentro da pasta de trabalho. Clicar nele o levará diretamente à célula ou intervalo referenciado.

Agora que vimos como adicionar hiperlinks usando o Microsoft Excel, vamos agora dar uma olhada em como podemos fazer o mesmo em nosso aplicativo .NET. Usaremos a API de código aberto nPOI para .NET para esse fim e escreveremos o código em C#. Mas antes disso, precisamos instalar o NPOI em nosso projeto .NET para começar. Você pode aprender sobre isso em nosso guia de instruções detalhadas para instalar o 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);
    }

Conclusão

Neste artigo, mostramos como adicionar diferentes tipos de hiperlinks em um arquivo XLSX no seu aplicativo .NET usando a API NPOI. Você pode aprender mais sobre o uso de NPOI API para planilhas para usar a API em seus aplicativos c#/vb.net. Para mais exemplos, fique atento.