Trenger du å laste inn en HTML-ledd eller nettside i Excel for behandling, visualisering eller lagring? Denne guiden forklarer hvordan du konverterer HTML innhold direkte til en Excel arbeidsbok ved hjelp av Aspose.Cells for .NET .

Introduction

Konvertere HTML-data til Excel kan være en utfordrende oppgave på grunn av kompleksiteten av HTML strukturer og behovet for nøyaktig formatering i Excel. Men med Aspose.Cells for .NET, blir denne prosessen enkel og effektiv.

Denne artikkelen vil gå deg gjennom de trinnene som trengs for å konvertere en HTML-streng eller fil til en Excel-arbeidsbok ved hjelp av C#. Vi vil dekke alt fra å installere den nødvendige pakken til å spare den endelige utgaven som en .xlsx og filer.

Bruker tilfeller for HTML til Excel konvertering

  • Konverter e-post eller CMS-data til Excel
  • Behandle HTML-rapporter eller eksport fra tredjepartsplattformer
  • Importerer netttabeller til strukturerte spreadsheets

Step-by-step guide

Steg 1: Installere Aspose.Cells for .NET

$ dotnet add package Aspose.Cells

Steg 2: Forbered HTML som en string

Forbered HTML-innholdet ditt enten fra en ekstern kilde eller direkte innenfor 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>";

Trinn 3: Konvertere String til Stream

Konverter HTML-leddet til en MemoryStream Objekt, som er nødvendig for å laste HTML-innhold.

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

Steg 4: Last ned HTML-strøm med HTMLLoadOptions

Use HtmlLoadOptions for å laste inn HTML-innholdet fra MemoryStream og skape en ny Workbook og objektet.

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

Steg 5: Arbeid med arbeidsboken (alternativt)

Når HTML-innholdet er lastet inn i en WorkbookDu kan manipulere det som nødvendig. for eksempel vil du kanskje legge til formler eller stiler.

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
}

Steg 6: Lagre den resulterende Excel-filen

Endelig sparer vi den modifiserte 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);
}

Komplett kode eksempler

Her er et komplett eksempel som viser hvordan du konverterer en HTML-ledd til en Excel-fil ved hjelp av 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.");
    }
}

Beste praksis

PracticeBenefit
Bruker strømmer for webintegrasjonLett å håndtere i APIs
Use HtmlLoadOptionsTilpasse parsing eller håndtere avansert HTML-innhold
Auto-Fit kolonnerBedre lesbarhet av produksjon

Subseksjon: Håndtering av komplekse HTML strukturer

Når du arbeider med komplekse HTML-strukturer, er det viktig å bruke HtmlLoadOptions Klassen til å tilpasse hvordan Aspose.Cells passerer HTML. Dette kan inkludere innstillinger som å ignorere visse elementer eller håndtere spesifikke tags annerledes.

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

Conclusion

Konvertering av HTML-innhold til Excel ved hjelp av Aspose.Cells for .NET er en kraftig måte å integrere webdata i Excel-arbeidsflyter. Ved å følge denne guiden, vil du være i stand til å håndtere både enkle og komplekse HTML strukturer med enkelhet.

More in this category