Como Converter HTML para Excel em C#

Como Converter HTML para Excel em C#

Necessita carregar uma string HTML ou uma página da web no Excel para processamento, visualização ou armazenamento? Este guia explica como converter conteúdo HTML diretamente em uma pasta de trabalho do Excel usando Aspose.Cells para .NET.

Casos de Uso para Conversão de HTML para Excel

  • Converter dados de e-mail ou CMS em Excel
  • Processar relatórios HTML ou exportações de plataformas de terceiros
  • Importar tabelas da web em planilhas estruturadas

Guia Passo a Passo

Passo 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Passo 2: Preparar HTML como uma String

string htmlString = "<html><body><table><tr><td>Item</td><td>Preço</td></tr><tr><td>Livro</td><td>20</td></tr></table></body></html>";

Passo 3: Converter String em Stream

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))

Passo 4: Carregar Stream HTML com HtmlLoadOptions

Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());

Passo 5: Trabalhar com a Pasta de Trabalho (Opcional)

Worksheet sheet = workbook.Worksheets[0];
// Adicionar fórmulas, estilos ou modificar dados

Passo 6: Salvar o Arquivo Excel Resultante

workbook.Save("converted.xlsx", SaveFormat.Xlsx);

Exemplo Completo de Código

using System;
using System.IO;
using System.Text;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        string html = "<html><body><table><tr><td>Nome</td><td>Pontuação</td></tr><tr><td>Alice</td><td>92</td></tr></table></body></html>";

        using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html)))
        {
            Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());

            // Opcional: Modificar os dados ou formato
            Worksheet sheet = workbook.Worksheets[0];
            sheet.AutoFitColumns();

            workbook.Save("html_to_excel.xlsx");
        }

        Console.WriteLine("HTML convertido para Excel.");
    }
}

Melhores Práticas

PráticaBenefício
Usar streams para integração webMais fácil de manusear em APIs
Usar HtmlLoadOptionsPersonalizar a análise ou lidar com conteúdo HTML avançado
Ajustar automaticamente as colunasMelhorar a legibilidade da saída
 Português