Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man eine HTML-Tabelle in eine Excel-Datei in C# exportiert

Das Extrahieren von HTML-Tabellendaten und deren Umwandlung in eine Excel-Tabelle ist eine gängige Anforderung in Geschäftsanwendungen, sei es für Datenmigration, Berichtsgenerierung oder Webseiten, die eine weitere Analyse erfordern. Dieser Artikel bietet einfache Schritte zum Exportieren von Datentabelleninhalten von HTML in das Excel-Format. Während einige Bibliotheken integrierte Methoden zum Konvertieren von HTML-Tabellen bieten, gehen diese oft mit Einschränkungen im Dateiformat oder unterstützenden Funktionen einher.

Wenn Sie HTML-Tabellen nach Excel exportieren müssen, ist es wichtig, das Verhältnis zwischen Excel-Arbeitsblattstrukturen und HTML-Tabellen zu verstehen. Dieser Leitfaden zeigt, wie man Daten effizient von HTML-Tabellen in das Excel-Format übertragen kann, um professionelle Excel-Arbeitsblattausgaben zu erstellen, die die Datenintegrität bewahren.

IronXL bietet eine flexiblere Möglichkeit, Inhalte einer HTML-Tabelle in ein Excel-Arbeitsblatt zu konvertieren, indem es seine leistungsstarken Excel-Manipulationsfähigkeiten mit HTML-Parsing kombiniert, um HTML-Tabellen in C# nach Excel zu exportieren. Ob Sie Daten von einer URL herunterladen oder Inhalte aus einer Datenbank verarbeiten müssen, diese Lösung bewältigt verschiedene Eingabeszenarien.

Warum IronXL wählen, um HTML-Tabellendaten zu exportieren?

IronXL excels at creating and manipulating Excel-Dateien, ohne dass eine Microsoft Office-Installation erforderlich ist, was es ideal für Serverumgebungen und plattformübergreifende Anwendungen macht. In Verbindung mit dem HTML Agility Pack, einem robusten HTML-Datei- und Inhaltsparser, wird IronXL zu einer vielseitigen Lösung für die Konvertierung jeder HTML-Tabellenstruktur in Excel-Tabellendaten. Dieser Ansatz funktioniert nahtlos mit .NET-Anwendungen und kann große Datenmengen effizient verarbeiten.

Im Gegensatz zu Bibliotheken wie der XlsIO der Syncfusion Excel Library, die über eine ImportHtmlTable-Funktion verfügen, die auf bestimmte HTML-Formate und Tabellenstrukturen beschränkt ist, gibt der IronXL-Ansatz Entwicklern vollständige Kontrolle über den Parsing- und Konvertierungsprozess. Diese Flexibilität bedeutet, dass Entwickler komplexe Szenarien wie verschachtelte Tabellen, benutzerdefinierte Datenformatierung und selektive Spaltenextraktion bewältigen können, die starre integrierte Methoden nicht unterstützen können. Die Standardeinstellungen funktionieren gut für die meisten Anwendungsfälle, aber Sie können jedes Detail anpassen.

Additionally, IronXL provides comprehensive Excel features including formula support, cell styling, multiple worksheet management, and various export formats (XLSX, XLS, JSON, and CSV file). Sie können sogar Diagramme erstellen, in PDF exportieren und versteckte Felddaten verwalten, was es zu einer vollständigen Lösung für Excel-Automatisierungsanforderungen macht, die über die einfache Konvertierung von HTML-Tabellen hinausgehen. Ob bei der Arbeit mit einem Datentabellenobjekt oder einer Tabellenkalkulationsdatei, IronXL verarbeitet die Konvertierung nahtlos.

Wie richte ich die erforderlichen Bibliotheken ein?

Installieren Sie zunächst sowohl IronXL als auch HTML Agility Pack über den NuGet-Paket-Manager. IronXL bietet eine kostenlose Testversion, um alle Funktionen zu testen.

Install-Package IronXL.Excel
Install-Package HtmlAgilityPack
Install-Package IronXL.Excel
Install-Package HtmlAgilityPack
SHELL

Diese NuGet-Pakete ermöglichen es Ihnen, Excel-Dokumente programmgesteuert zu erstellen, zu laden und zu speichern. Importieren Sie dann die erforderlichen using-Anweisungen in Ihre C#-Code-Datei:

using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Diese Bibliotheken arbeiten nahtlos zusammen, wobei das HTML Agility Pack das HTML-Parsing übernimmt, während IronXL die Erstellung und Bearbeitung der Excel-Dateien verwaltet. Dieses Beispiel zeigt einen einfachen Ansatz zur Konvertierung von HTML-Tabellen in das XLSX-Format.

Wie parse ich HTML-Tabellendaten mit dem HTML Agility Pack?

Das HTML Agility Pack bietet eine einfache Möglichkeit, sich mit XPath-Ausdrücken in HTML-Dokumenten zurechtzufinden. Der folgende Code zeigt, wie Daten aus einer HTML-Tabelle extrahiert und für den Export vorbereitet werden:

// Sample HTML table with product data
string htmlContent = @"
<table>
    <thead>
        <tr>
            <th>Product</th>
            <th>Price</th>
            <th>Stock</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Laptop</td>
            <td>$999</td>
            <td>15</td>
        </tr>
        <tr>
            <td>Mouse</td>
            <td>$25</td>
            <td>50</td>
        </tr>
        <tr>
            <td>Keyboard</td>
            <td>$75</td>
            <td>30</td>
        </tr>
    </tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
// Sample HTML table with product data
string htmlContent = @"
<table>
    <thead>
        <tr>
            <th>Product</th>
            <th>Price</th>
            <th>Stock</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Laptop</td>
            <td>$999</td>
            <td>15</td>
        </tr>
        <tr>
            <td>Mouse</td>
            <td>$25</td>
            <td>50</td>
        </tr>
        <tr>
            <td>Keyboard</td>
            <td>$75</td>
            <td>30</td>
        </tr>
    </tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code lädt den HTML-Inhalt in ein HtmlDocument-Objekt und verwendet XPath, um das Tabellenelement abzufragen und auszuwählen. Die SelectSingleNode-Methode gibt die erste im HTML gefundene Tabelle zurück, wodurch es einfach ist, gezielt auf bestimmte Tabellen zuzugreifen, wenn mehrere vorhanden sind. Jede Tabellenzeile wird verarbeitet, um den Zellwert für die Konvertierung zu extrahieren.

Wie exportiere ich geparste Daten mit IronXL nach Excel?

Mit IronXL können wir die geparsten HTML-Tabellendaten einfach in ein professionelles Excel-Spreadsheet mit richtiger Formatierung konvertieren. Der folgende Code zeigt, wie die Daten mit benutzerdefinierten Schriftgröße- und Schriftfamilieneinstellungen exportiert werden können:

// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
    for (int col = 0; col < headers.Count; col++)
    {
        workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
        // Apply header formatting
        var headerCell = workSheet.GetCellAt(0, col);
        headerCell.Style.Font.Bold = true;
        headerCell.Style.BackgroundColor = "#4CAF50";
    }
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
    for (int row = 0; row < rows.Count; row++)
    {
        var cells = rows[row].SelectNodes("td");
        if (cells != null)
        {
            for (int col = 0; col < cells.Count; col++)
            {
                string cellValue = cells[col].InnerText.Trim();
                workSheet.SetCellValue(row + 1, col, cellValue);
            }
        }
    }
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
    workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
    for (int col = 0; col < headers.Count; col++)
    {
        workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
        // Apply header formatting
        var headerCell = workSheet.GetCellAt(0, col);
        headerCell.Style.Font.Bold = true;
        headerCell.Style.BackgroundColor = "#4CAF50";
    }
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
    for (int row = 0; row < rows.Count; row++)
    {
        var cells = rows[row].SelectNodes("td");
        if (cells != null)
        {
            for (int col = 0; col < cells.Count; col++)
            {
                string cellValue = cells[col].InnerText.Trim();
                workSheet.SetCellValue(row + 1, col, cellValue);
            }
        }
    }
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
    workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code zeigt die intuitive API von IronXL zur C# Excel-Manipulation. Zuerst erstellt er ein neues Arbeitsbuch und Arbeitsblatt. Dann durchläuft es die geparsten HTML-Tabellenüberschriften, platziert sie in der ersten Zeile und wendet fette Formatierung und einen grünen Hintergrund an. Die Datenzeilen aus der HTML-Tabelle werden ähnlich verarbeitet, wobei der Textinhalt jeder Zelle extrahiert und in die entsprechende Excel-Zelle platziert wird. Die AutoSizeColumn-Funktion stellt sicher, dass alle Inhalte sichtbar sind, und schließlich wird das Arbeitsbuch als XLSX-Datei gespeichert. Sie können die generierte Datei einfach herunterladen oder in einer Datenbank zur späteren Abruf speichert.

Wie exportiert man eine HTML-Tabelle in eine Excel-Datei in C#: Abbildung 1 - Von IronXL geparste Tabellendaten-Ausgabe

Hier sehen Sie die ursprüngliche HTML-Tabelle im Vergleich zur Ausgabe von oben:

Wie exportiert man eine HTML-Tabelle in eine Excel-Datei in C#: Abbildung 2 - Geparste Excel-Daten vs. die ursprüngliche HTML-Tabelle

Umgang mit gängigen Szenarien

Wenn Sie mit mehreren Tabellen arbeiten, verwenden Sie einfach SelectNodes("//table"), um alle Tabellen zu erhalten und durch sie zu iterieren, um für jede ein separates Arbeitsblatt zu erstellen. Dieses Beispiel zeigt, wie man komplexe Szenarien mit großen Datensätzen bewältigt.

var tables = doc.DocumentNode.SelectNodes("//table");
foreach (var tbl in tables)
{
    // Create new worksheet for each table
    WorkSheet ws = workBook.CreateWorkSheet($"Table_{tables.IndexOf(tbl) + 1}");
    // Process table as shown above
}
var tables = doc.DocumentNode.SelectNodes("//table");
foreach (var tbl in tables)
{
    // Create new worksheet for each table
    WorkSheet ws = workBook.CreateWorkSheet($"Table_{tables.IndexOf(tbl) + 1}");
    // Process table as shown above
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für die Fehlerbehandlung wickeln Sie die Parsing-Logik in Try-Catch-Blöcke, um unsaubere HTML-Inhalte elegant zu handhaben. IronXL erkennt Datentypen automatisch und konvertiert numerische Strings in Zahlen, wenn dies angebracht ist. Bei komplexeren Szenarien mit dynamischen Inhalten kombinieren Entwickler diesen Ansatz häufig mit Tools wie Selenium WebDriver für JavaScript-gerenderte Tabellen.

Wenn Sie Inhalte von einer URL oder Datenbankabfrage für eine weitere Analyse verarbeiten, müssen Sie möglicherweise zusätzliche Details wie versteckte Feldwerte oder spezielle Formatierungsanforderungen berücksichtigen. Das Standardverhalten funktioniert gut für Standardtabellen, aber Sie können Schriftgröße, Schriftfamilie und andere Stil-Eigenschaften für jede Erstspalte oder eine spezifische Tabellenzeile nach Bedarf anpassen.

Abschluss

Die Kombination von IronXL und HTML Agility Pack bietet eine robuste, flexible Lösung zum Exportieren von HTML-Tabellen nach Excel in C#. Dieser Artikel hat einfache Schritte gezeigt, um HTML-Inhalte in das XLSX-Format zu konvertieren, Datentabelleninformationen zu exportieren und professionelle Spreadsheet-Dateien zu erstellen. Dieser Ansatz bietet mehr Kontrolle als starre integrierte Methoden und ermöglicht es Entwicklern, komplexe HTML-Strukturen zu bewältigen, während sie die umfassenden Excel-Funktionen von IronXL nutzen.

Egal ob Sie Web-Scraper erstellen, Legacy-Daten aus einer Datenbank migrieren, die Berichtserstellung mit Diagrammen automatisieren oder Datenanalysen mit großen Datensätzen durchführen, diese Lösung skaliert, um Unternehmensanforderungen zu erfüllen. Die bereitgestellten Codebeispiele zeigen, wie man mit verschiedenen Eingabequellen umgeht, von statischem HTML bis zu dynamischen Inhalten, die über eine URL abgerufen werden. Sie können die Ergebnisse einfach für den Download exportieren oder für die weitere Verarbeitung in Ihrer .NET-Anwendung verwenden.

Bereit, Ihre HTML-Daten in professionelle Excel-Tabelle-Dateien umzuwandeln? Starten Sie heute Ihre kostenlose Testversion von IronXL und erleben Sie die Flexibilität der programmatischen Excel-Manipulation ohne Office-Abhängigkeiten. Für Produktionsbereitstellungen erkunden Sie unsere Lizenzierungsoptionen, beginnend bei $799.

Häufig gestellte Fragen

Was ist der Hauptvorteil der Verwendung von IronXL zur Umwandlung von HTML-Tabellen in Excel?

IronXL ermöglicht es Ihnen, HTML-Tabellendaten mühelos in Excel-Tabellen umzuwandeln, mit einem flexiblen Ansatz, der kein Microsoft Office erfordert und plattformübergreifende Kompatibilität ermöglicht.

Kann IronXL komplexe HTML-Tabellenstrukturen bei der Umwandlung in Excel bewältigen?

Ja, IronXL ist darauf ausgelegt, komplexe HTML-Tabellenstrukturen zu verwalten und sicherzustellen, dass die Daten genau in Excel exportiert werden, während das ursprüngliche Layout und Format beibehalten wird.

Ist es möglich, die Umwandlung von HTML-Tabellen in Excel mithilfe von IronXL in C# zu automatisieren?

Absolut, IronXL unterstützt die Automatisierung und ermöglicht es Entwicklern, HTML-Tabellen programmgesteuert in Excel-Blätter innerhalb von C#-Anwendungen umzuwandeln, um die Datenverarbeitungsabläufe zu rationalisieren.

Unterstützt die Umwandlung von HTML-Tabellen in Excel mit IronXL verschiedene Dateiformate?

IronXL unterstützt verschiedene Excel-Dateiformate, einschließlich XLSX, XLS und CSV, und bietet Flexibilität bei der Auswahl des Ausgabeformats, das am besten zu den Anforderungen Ihrer Anwendung passt.

Muss Microsoft Office installiert sein, um IronXL für die HTML-zu-Excel-Konvertierung zu verwenden?

Nein, IronXL erfordert keine Installation von Microsoft Office und bietet eine leichte Lösung für die Umwandlung von HTML-Tabellen in Excel auf verschiedenen Plattformen.

Was sind die typischen Anwendungsfälle für die Umwandlung von HTML-Tabellen in Excel mithilfe von IronXL?

Häufige Anwendungsfälle umfassen Datenmigration, Berichtsgenerierung und weitere Analyse von Webseitendaten, bei denen es notwendig ist, HTML-Tabelleninhalte für Geschäftsanwendungen in Excel zu exportieren.

Wie vergleicht sich IronXL mit anderen Bibliotheken für die HTML-zu-Excel-Umwandlung?

Während einige Bibliotheken möglicherweise integrierte Methoden für die HTML-zu-Excel-Konvertierung anbieten, zeichnet sich IronXL dadurch aus, dass es umfangreiche Funktionen bietet, ohne die in anderen Lösungen häufig anzutreffenden Einschränkungen, wie etwa eingeschränkte Dateiformatuntersützung.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen