Behöver du ladda en HTML-sträng eller webbsida i Excel för bearbetning, visualisering eller lagring? Denna guide förklarar hur du konverterar HTML-innehåll direkt till en Excel-arbetsbok med Aspose.Cells för .NET.

Introduktion

Konvertera HTML-data till Excel kan vara en utmanande uppgift på grund av komplexiteten i HTML strukturer och behovet av exakt formatering i Excel. Men med Aspose.Cells för .NET blir denna process enkel och effektiv.

I den här artikeln kommer du att gå igenom de steg som krävs för att konvertera en HTML-sträng eller fil till en Excel-arbetsbok med C#. Vi kommer att täcka allt från att installera det nödvändiga paketet till att spara slutresultatet som en .xlsx och filer.

Använd fall för HTML till Excel konvertering

  • Konvertera e-post eller CMS-data till Excel
  • Processera HTML-rapporter eller export från tredjepartsplattformar
  • Importera webbtabeller till strukturerade skivor

Steg för steg guide

Steg 1: Installera Aspose.Cells för .NET

$ dotnet add package Aspose.Cells

Steg 2: Förbered HTML som en sträng

Förbered ditt HTML-innehåll antingen från en extern källa eller direkt inom 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>";

Steg 3: Konvertera sträng till ström

Konvertera HTML-strängen till en MemoryStream objekt, som krävs för att ladda HTML-innehåll.

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

Steg 4: Ladda HTML Stream med HtmlLoadOptions

Användning HtmlLoadOptions för att ladda HTML-innehållet från MemoryStream och skapa en ny Workbook och föremål.

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

Steg 5: Arbeta med arbetsboken (alternativ)

När HTML-innehållet laddas in i en WorkbookDu kan manipulera det som behövs. Till exempel kanske du vill lägga till formler eller stilar.

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: Spara resultatet Excel-filen

Slutligen, spara den modifierade Workbook till en fil på skivan.

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 kod Exempel

Här är ett komplett exempel som visar hur man konverterar en HTML-sträng till en Excel-fil med Aspose.Cells för .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.");
    }
}

Bästa praxis

praxisFördelar
Använd strömmar för webbintegrationLättare att hantera i APIs
Användning HtmlLoadOptionsAnpassa parsing eller hantera avancerad HTML-innehåll
Auto-fit kolumnerFörbättra läsbarheten av produktionen

Avsnitt: Hantera komplexa HTML-strukturer

När man hanterar komplexa HTML-strukturer är det viktigt att använda HtmlLoadOptions klass att anpassa hur Aspose.Cells pars HTML. Detta kan innefatta inställningsalternativ som att ignorera vissa element eller hantera specifika taggar annorlunda.

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

slutsatser

Konvertera HTML-innehåll till Excel med Aspose.Cells för .NET är ett kraftfullt sätt att integrera webbdata i dina Excel-arbetsflöden. Genom att följa denna guide kommer du att kunna hantera både enkla och komplexa HTML strukturer med lätthet.

More in this category