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
Praksis | Fordele |
---|---|
Brug af streams til webintegration | Det er nemmere at håndtere i APIs |
Brug af HtmlLoadOptions | Tilpasning eller håndtering af avanceret HTML-indhold |
Auto-Fit Kolumner | Forbedrer 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.