Har du brug for at oplade en HTML-string eller en webside i Excel til behandling, visualisering eller opbevaring? Denne guide forklarer, hvordan man konverterer html-indhold direkte til en Excel-arbejdbog ved hjælp af Aspose.Cells for .NET.

Introduktion

Konvertering af HTML-data til Excel kan være en udfordrende opgave på grund af kompleksiteten i HTML strukturer og behovet for præcist formatering i Excel. Men med Aspose.Cells for .NET, bliver denne proces enkel og effektiv.

Denne artikel vil gå dig gennem de trin, der er nødvendige for at konvertere en HTML string eller fil til en Excel-arbejdsbog ved hjælp af C#. Vi vil dække alt fra at installere det krævede pakke til at spare den endelige output som en .xlsx af filen.

Brug af sager til HTML til Excel konvertering

  • Konverter e-mail eller CMS-data til Excel
  • Process HTML-rapporter eller eksporter fra tredjepartsplatforme
  • Import af webtabler til strukturerede spreadsheets

Step-by-Step Guide

Trin 1: Installere Aspose.Cells til .NET

$ dotnet add package Aspose.Cells

Trin 2: Forbered HTML som en string

Forbered dit HTML-indhold enten fra en ekstern kilde eller direkte inden for koden.

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

Trin 3: Konverter String til Stream

Konverter HTML-strengen til en MemoryStream Objekt, som er nødvendig for at oplade HTML-indhold.

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

Trin 4: Lade HTML Stream med HTMLLoadOptions

Brug af HtmlLoadOptions For at oplade HTML-indholdet fra MemoryStream og skaber en ny Workbook af objektet.

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

Trin 5: Arbejd med arbejdsbokken (alternativt)

Når HTML-indholdet er lastet ind i en Workbook, Du kan for eksempel gerne tilføje formler eller stilarter.

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
}

Trin 6: Save den resulterende Excel-fil

Til sidst skal den ændrede Workbook til en fil på disk.

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);
}

Fuld kode eksempler

Her er et komplet eksempel, der viser, hvordan man konverterer en HTML string til en Excel-fil ved hjælp af Aspose.Cells for .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.");
    }
}

Bedste praksis

PraksisFordele
Brug af streams til webintegrationDet er nemmere at håndtere i APIs
Brug af HtmlLoadOptionsTilpasning eller håndtering af avanceret HTML-indhold
Auto-Fit KolumnerForbedrer læsbarheden af produktionen

Underavsnittet: Behandling af komplekse HTML strukturer

Når man behandler komplekse HTML-strukturer, er det vigtigt at bruge HtmlLoadOptions klasse til at tilpasse, hvordan Aspose.Cells parser HTML. Dette kan omfatte indstillinger såsom ignorering af visse elementer eller håndtering af specifikke tags anderledes.

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.");
    }
}

Konklusion

Konvertering af HTML-indhold til Excel ved hjælp af Aspose.Cells for .NET er en kraftfuld måde at integrere webdata i dine Excel-arbejdstrømme. Ved at følge denne guide, vil du være i stand til at håndtere både enkle og komplekse HTML strukturer nemt.

More in this category