Tienes que cargar una string HTML o una página web en Excel para procesar, visualizar o almacenar?Este guía explica cómo convertir el contenido HTML directamente en un libro de trabajo de Excel utilizando Aspose.Cells para .NET.

Introducción

Convertir datos HTML a Excel puede ser una tarea desafiante debido a la complejidad de las estructuras HTML y la necesidad de formatar con precisión en Excel. Sin embargo, con Aspose.Cells para .NET, este proceso se vuelve sencillo y eficiente.

Este artículo le guiará a través de los pasos necesarios para convertir una string HTML o un archivo en un libro de trabajo de Excel utilizando C#. .xlsx El archivo.

Use Casas para HTML a Excel Conversion

  • Convertir datos de correo electrónico o CMS en Excel
  • Procesar informes HTML o exportaciones de plataformas de terceros
  • Importación de tablas web en placas estructuradas

Guía paso a paso

Paso 1: Instalar Aspose.Cells para .NET

$ dotnet add package Aspose.Cells

Paso 2: Preparar HTML como una cinta

Prepara tu contenido HTML ya sea de una fuente externa o directamente dentro del 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>";

Paso 3: Convertir la corriente a la corriente

Convertir el HTML en una MemoryStream Objeto, que es necesario para cargar contenido HTML.

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

Paso 4: Cargar HTML Stream con HtmlLoadOptions

Uso HtmlLoadOptions para descargar el contenido HTML de la MemoryStream Crear una nueva Workbook El objeto.

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

Paso 5: Trabajar con el libro de trabajo (opcional)

Una vez que el contenido HTML se carga en un Workbook, Por ejemplo, puede querer agregar fórmulas o 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
}

Paso 6: Salva el archivo resultante de Excel

Por último, salvo la modificación Workbook Un archivo en el 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);
}

Exemplos de código completo

Aquí hay un ejemplo completo que demuestra cómo convertir una string HTML en un archivo de Excel utilizando 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.");
    }
}

Mejores Prácticas

La prácticaBeneficios
Uso de flujos para la integración webMás fácil de manejar en APIs
Uso HtmlLoadOptionsPersonalizar parsing o gestionar contenido HTML avanzado
Columnas Auto-FitMejora la lectura de la producción

Subsección: Tratamiento de estructuras HTML complejas

Cuando se trata de estructuras HTML complejas, es importante utilizar la HtmlLoadOptions clase para personalizar cómo Aspose.Cells parsa el HTML. Esto puede incluir opciones de configuración como ignorar ciertos elementos o tratar etiquetas específicas de manera 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.");
    }
}

Conclusión

Convertir contenido HTML a Excel utilizando Aspose.Cells para .NET es una manera poderosa de integrar los datos web en sus flujos de trabajo de Excel.

More in this category