Zum Fußzeileninhalt springen
IRONXL VERWENDEN

C# Exportieren einer HTML-Tabelle in eine Excel-Datei mit IronXL

Das Extrahieren von HTML-Tabellendaten und ihre Konvertierung in eine Excel-Tabelle ist eine häufige Anforderung in Geschäftsanwendungen, sei es für die Datenmigration, die Erstellung von Berichten oder für 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 das Verständnis der Beziehung zwischen Excel-Arbeitsblattstrukturen und HTML-Tabellen entscheidend. Dieser Leitfaden zeigt, wie man Daten effizient aus HTML-Tabellen in das Excel-Format überträgt und professionelle Excel-Arbeitsblattausgaben erstellt, die die Datenintegrität wahren.

IronXL bietet eine flexiblere Möglichkeit, HTML-Tabelleninhalte in ein Excel-Arbeitsblatt zu konvertieren, indem es seine leistungsstarken Excel-Manipulationsfunktionen mit HTML-Parsing kombiniert, um HTML-Tabellen in C# nach Excel zu exportieren. Egal, ob Sie Daten von einer URL herunterladen oder Inhalte aus einer Datenbank verarbeiten müssen, diese Lösung ist für verschiedene Eingabeszenarien geeignet.

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

IronXL zeichnet sich durch die Erstellung und Bearbeitung von Excel-Dateien aus, 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 Parser für HTML-Dateien und -Inhalte, wird IronXL zu einer vielseitigen Lösung für die Konvertierung beliebiger HTML-Tabellenstrukturen 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.

Darüber hinaus bietet IronXL umfassende Excel-Funktionen wie Formelunterstützung, Zellengestaltung, Verwaltung mehrerer Arbeitsblätter und verschiedene Exportformate (XLSX, XLS, JSON und CSV-Datei). Sie können sogar Diagramme erstellen, nach PDF exportieren und verborgene Felddaten verwalten, was es zu einer Komplettlösung für Excel-Automatisierungsanforderungen macht, die über eine einfache HTML-Tabellenkonvertierung hinausgeht. Egal, ob es sich um ein datierbares Objekt oder eine Tabellenkalkulationsdatei handelt, IronXL wickelt die Konvertierung nahtlos ab.

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
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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 demonstriert 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 zur Abfrage und Auswahl des Tabellenelements. Die SelectSingleNode-Methode gibt die erste in der HTML-Datei gefundene Tabelle zurück, so dass es einfach ist, auf bestimmte Tabellen zu zielen, wenn mehrere vorhanden sind. Jede Tabellenzeile wird verarbeitet, um den Zellenwert 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. Zunächst wird ein neues WorkBook und WorkSheet erstellt. 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 Funktion AutoSizeColumn stellt sicher, dass alle Inhalte sichtbar sind, und schließlich wird die Arbeitsmappe als XLSX-Datei gespeichert. Sie können die erzeugte Datei einfach herunterladen oder in einer Datenbank speichern, um sie später wieder abzurufen.

C# Exportieren von HTML-Tabellen in Excel-Dateien mit IronXL: Bild 1 - IronXL parsed table data output

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

C# Exportieren einer HTML-Tabelle in eine Excel-Datei mit IronXL: Bild 2 - Geparste Excel-Daten im Vergleich zur ursprünglichen HTML-Tabelle

Umgang mit gängigen Szenarien

Wenn Sie mit mehreren Tabellen arbeiten, verwenden Sie einfach SelectNodes("//table"), um alle Tabellen zu erhalten und sie zu durchlaufen, wobei für jede Tabelle ein eigenes Arbeitsblatt erstellt wird. 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.

Bei der Verarbeitung von Inhalten aus einer URL oder einer Datenbankabfrage zur weiteren Analyse müssen Sie möglicherweise zusätzliche Details wie versteckte Feldwerte oder spezielle Formatierungsanforderungen behandeln. Das Standardverhalten funktioniert gut für Standardtabellen, aber Sie können die Schriftgröße, Schriftart und andere Stileigenschaften für jede erste Spalte 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#. In diesem Artikel werden einfache Schritte zum Konvertieren von HTML-Inhalten in das XLSX-Format, zum Exportieren von Daten und zum Erstellen professioneller Tabellenkalkulationsdateien gezeigt. Dieser Ansatz bietet mehr Kontrolle als starre integrierte Methoden und ermöglicht es Entwicklern, komplexe HTML-Strukturen zu handhaben, während sie die umfassenden Excel-Funktionen von IronXL nutzen.

Ganz gleich, ob Sie Web Scraper erstellen, Altdaten aus einer Datenbank migrieren, die Berichterstellung mit Diagrammen automatisieren oder Datenanalysen für große Datensätze durchführen - diese Lösung ist skalierbar und erfüllt die Anforderungen von Unternehmen. Die mitgelieferten Code-Beispiele 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.

Sind Sie bereit, Ihre HTML-Daten in professionelle Excel-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 den produktiven Einsatz können Sie unsere Lizenzierungsoptionen ab 749 $ nutzen.

Häufig gestellte Fragen

Was ist der Hauptzweck der Konvertierung von HTML-Tabellen in Excel in Geschäftsanwendungen?

Der Hauptzweck besteht darin, die Datenmigration, die Erstellung von Berichten oder die weitere Analyse von Webseitendaten zu erleichtern, indem HTML-Tabellendaten in ein Format umgewandelt werden, das in Excel leicht zu verwalten und zu analysieren ist.

Welche Bibliothek wird im Leitfaden für die Konvertierung von HTML-Tabellen in Excel in C# empfohlen?

Der Leitfaden empfiehlt die Verwendung von IronXL für die Konvertierung von HTML-Tabellen in Excel in C#, da es einen flexiblen Ansatz bietet, ohne dass Microsoft Office erforderlich ist.

Warum eignen sich manche Bibliotheken nicht für die Konvertierung von HTML-Tabellen in Excel?

Einige Bibliotheken sind möglicherweise nicht geeignet, da sie Einschränkungen bei den Dateiformaten haben oder ihnen unterstützende Funktionen fehlen, was ihre Effektivität bei der Handhabung verschiedener Datenkonvertierungsanforderungen einschränken kann.

Ist Microsoft Office erforderlich, um IronXL für den Export von HTML-Tabellen nach Excel zu verwenden?

Nein, Microsoft Office ist nicht erforderlich, um IronXL zu nutzen. Es funktioniert plattformübergreifend und bietet eine flexible Lösung für den Export von HTML-Tabellen nach Excel.

Kann IronXL plattformübergreifende Konvertierungen von HTML-Tabellen in Excel durchführen?

Ja, IronXL kann plattformübergreifende Konvertierungen von HTML-Tabellen in Excel vornehmen und ist damit ein vielseitiges Tool für Entwickler, die in unterschiedlichen Umgebungen arbeiten.

Was sind die häufigsten Anwendungsfälle für die Konvertierung von HTML-Tabellen in Excel?

Zu den üblichen Anwendungsfällen gehören die Datenmigration, die Erstellung von Berichten und die Analyse von Webseitendaten in einem besser strukturierten und zugänglicheren Format.

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