Precisa carregar uma faixa HTML ou uma página web no Excel para processamento, visualização ou armazenamento? Este guia explica como converter conteúdo HTML diretamente para um livro de trabalho do Excel usando Aspose.Cells para .NET.

Introdução

Converter dados HTML para Excel pode ser uma tarefa desafiadora devido à complexidade das estruturas HTML e à necessidade de formatação precisa no Excel. No entanto, com Aspose.Cells para .NET, este processo torna-se simples e eficiente.

Este artigo irá acompanhá-lo através dos passos necessários para converter uma faixa HTML ou arquivo em um livro de trabalho do Excel usando C#. Nós vamos cobrir tudo desde a instalação do pacote necessário para salvar a saída final como um .xlsx arquivo .

Use Casos para conversão de HTML para Excel

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

Guia passo a passo

Passo 1: Instalar Aspose.Cells para .NET

$ dotnet add package Aspose.Cells

Passo 2: Prepare o HTML como uma faixa

Prepare seu conteúdo HTML de uma fonte externa ou diretamente dentro do código.

string htmlString = "<html><body><table><tr><td>Item</td><td>Price</td></tr><tr><td>Book</td><td>20</td></tr></table></body></html>";

Passo 3: Converter a corrente para a corrente

Converter a linha HTML em um MemoryStream Objeto, que é necessário para carregar conteúdo HTML.

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    // Proceed with loading the stream into an Excel workbook
}

Passo 4: Carregar o fluxo HTML com opções HTMLLoad

Utilização HtmlLoadOptions para carregar o conteúdo HTML do MemoryStream Criando um novo Workbook O Objeto.

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

Passo 5: Trabalhar com o livro de trabalho (opcional)

Quando o conteúdo HTML é carregado em um WorkbookPor exemplo, você pode querer adicionar fórmulas ou estilos.

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
    Worksheet sheet = workbook.Worksheets[0];
    // Add formulas, styles, or modify data
}

Passo 6: Salve o arquivo resultante do Excel

Por fim, salve a modificação Workbook para um arquivo no disco.

using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
    Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
    // Optional: Modify the data or format
    Worksheet sheet = workbook.Worksheets[0];
    sheet.AutoFitColumns();
    workbook.Save("converted.xlsx", SaveFormat.Xlsx);
}

Exemplo de código completo

Aqui está um exemplo completo que mostra como converter uma faixa HTML em um arquivo do Excel usando Aspose.Cells para .NET.

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

public class HtmlToExcelConverter
{
    public static void Main()
    {
        string html = "<html><body><table><tr><td>Name</td><td>Score</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());
            Worksheet sheet = workbook.Worksheets[0];
            sheet.AutoFitColumns();
            workbook.Save("html_to_excel.xlsx", SaveFormat.Xlsx);
        }

        Console.WriteLine("HTML converted to Excel.");
    }
}

Melhores Práticas

PráticaBenefícios
Utilização de fluxos para a integração webMais fácil de lidar com APIs
Utilização HtmlLoadOptionsPersonalizar o parsing ou gerenciar conteúdo HTML avançado
Colunas Auto-FitMelhorar a leitura da produção

Subsezione: Gestão de estruturas HTML complexas

Quando se trata de estruturas HTML complexas, é importante usar o HtmlLoadOptions A classe para personalizar como Aspose.Cells parsa o HTML. Isso pode incluir opções de configuração, como ignorar determinados elementos ou lidar com tags específicos de forma diferente.

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

public class ComplexHtmlToExcelConverter
{
    public static void Main()
    {
        string complexHtml = @"
            <html>
                <body>
                    <table border='1'>
                        <tr>
                            <th>Product</th>
                            <th>Price</th>
                            <th>Quantity</th>
                        </tr>
                        <tr>
                            <td>Laptop</td>
                            <td>$999.99</td>
                            <td>5</td>
                        </tr>
                        <tr>
                            <td>Smartphone</td>
                            <td>$699.99</td>
                            <td>10</td>
                        </tr>
                    </table>
                </body>
            </html>";

        // Create a MemoryStream from the HTML string
        using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(complexHtml)))
        {
            // Use HtmlLoadOptions to customize parsing if needed
            HtmlLoadOptions loadOptions = new HtmlLoadOptions();
            loadOptions.AutoFilterColumns = true;  // Enable auto-filter for columns

            // Load the HTML content into a Workbook
            Workbook workbook = new Workbook(htmlStream, loadOptions);

            // Access the first worksheet
            Worksheet sheet = workbook.Worksheets[0];

            // Auto-fit all columns to improve readability
            sheet.AutoFitColumns();

            // Save the resulting Excel file
            workbook.Save("complex_html_to_excel.xlsx", SaveFormat.Xlsx);
        }

        Console.WriteLine("Complex HTML converted to Excel.");
    }
}

Conclusão

Converter conteúdo HTML para o Excel usando Aspose.Cells para .NET é uma maneira poderosa de integrar dados da web em seus fluxos de trabalho do Excel. Seguindo este guia, você será capaz de lidar com estruturas HTML simples e complexas com facilidade.

More in this category