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 Workbook
Du 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
praxis | Fördelar |
---|---|
Använd strömmar för webbintegration | Lättare att hantera i APIs |
Användning HtmlLoadOptions | Anpassa parsing eller hantera avancerad HTML-innehåll |
Auto-fit kolumner | Fö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.