IRONXL VERWENDEN

Datentabelle zu Excel in C# (Codebeispiel-Tutorial)

Regan Pun
Regan Pun
26. Juni 2022
Aktualisiert 7. Januar 2024
Teilen Sie:

Es kann schwierig sein, eine Excel-Tabelle programmatisch zu ändern, und zwar aus zwei Gründen. Erstens müssen die Benutzer bei der Arbeit mit Tabellenkalkulationen eine einheitliche Schnittstelle und Dokumentenstruktur einhalten, was nicht immer einfach ist. Zweitens ist nicht immer klar, welcher Code in bestimmten Situationen funktioniert, insbesondere wenn es um komplizierte Berechnungen geht. Es gibt zahlreiche Gründe, warum die programmgesteuerte Erstellung einer Excel-Datei schwierig ist. Die Programmierer müssen zunächst die Daten im Excel-Dokument in ein lesbares Format umwandeln, dann die Daten parsen und zurückparsen, was noch schwieriger ist. Ich habe eine Lösung für dieses Problem gefunden. Ich zeige Ihnen, wie Sie mit der IronXL for .NET Excel-Bibliothek problemlos eine Excel-Datei erstellen und eine Datenbasis programmatisch in ein Excel-Blatt exportieren können. Fangen wir an:

IronXL Merkmale

  • IronXL läuft auf einer Vielzahl von Betriebssystemen, einschließlich Windows, Linux und macOS.
  • Nahezu alle .NET-Frameworks werden von IronXL unterstützt, einschließlich der Console, Windows Forms Application und Web Application.
  • IronXL macht das Lesen von Excel-Dateien einfach und unkompliziert.
  • Wir können Datentabellen laden, bearbeiten, exportieren, Datensätze exportieren und Excel-Dateiformate wie XLSX-Dateien, XLS, CSV, TSV, XLST, XLSM-Dateien und mehr mit IronXL lesen.
  • IronXL ermöglicht es uns, Dateien mit einer Vielzahl von Erweiterungen zu speichern und zu exportieren, darunter XLS, CSV, TSV, JSON, XLSX und andere.
  • Excel-Formeln können mit IronXL erstellt werden.
  • Text, Zahlen, Formeln, Daten, Währung, Prozentsätze und andere Excel-Zellformatierungen werden von IronXL unterstützt.
  • Es bietet außerdem zahlreiche Sortieroptionen wie Bereich, Spalten und Zeilen, unter anderem.
  • Die Zellformatierung in IronXL umfasst Schriftart, Größe, Hintergrundmuster, Rahmen und Ausrichtung, unter anderem.
  • Mit IronXL können wir Daten aus einer Excel-Datei lesen und exportieren.
  • IronXL erfordert keine Installation von Excel oder Interop auf Ihrem Server. Die IronXL API ist schneller und einfacher zu bedienen als Microsoft Office, Interop und Excel.

1 Erstellen eines neuen Projekts in Visual Studio

Um die IronXL-Bibliothek zu verwenden, müssen wir ein .NET-Projekt in Visual Studio erstellen. Sie können eine beliebige Version von Visual Studio verwenden, es wird jedoch die neueste Version empfohlen. Sie können eine Anwendung wie Windows Forms oder verschiedene Projektvorlagen erstellen, je nach Ihren Anforderungen. Der Einfachheit halber werde ich für dieses Tutorial die Konsolenanwendung verwenden.

Wie man große Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 1: Erstellen eines neuen Projekt-UIs in Visual Studio

Erstellen Sie eine neue Projektoberfläche in Visual Studio

Geben Sie dann den Projektnamen und den Standort des Projekts ein.

So exportieren Sie große Datenmengen von Datatable in Excel in C#, Abbildung 2: Konfigurationsschritt beim Erstellen eines neuen Projekts

Konfigurationsschritt bei der Erstellung eines neuen Projekts

Wählen Sie dann den unten stehenden Rahmen aus. In diesem Projekt werden wir .NET Core 6 verwenden.

So exportieren Sie große Datenmengen von Datatable nach Excel in C#, Abbildung 3: .Net Framework-Auswahl-UI

.Net Framework-Auswahloberfläche

Sobald die Anwendung die Lösung erstellt hat, wird die Datei program.cs geöffnet, in die Sie den Code eingeben und die Anwendung erstellen/ausführen können.

Wie man große Datenmengen von einer Datentabelle nach Excel in C# exportiert, Abbildung 4: Leere program.cs-Datei im neuen Projekt

Leere program.cs-Datei im neuen Projekt

Als nächstes können wir die Bibliothek hinzufügen, um den Code zu testen.

2 Installieren Sie die IronXL-Bibliothek

Die IronXL-Bibliothek kann auf vier Arten heruntergeladen und installiert werden.

Diese sind:

  • Verwendung von Visual Studio
  • Verwendung der Visual Studio-Befehlszeile.
  • Direkter Download von der NuGet-Website.
  • Direkter Download von der IronXL-Website.

2.1 Visual Studio verwenden

Wir können die IronXL-Bibliothek mit dem NuGet Package Manager installieren. Sie müssen zunächst den NuGet-Paketmanager öffnen und dann auf der Registerkarte Durchsuchen nach IronXL suchen. Wählen Sie IronXL aus den Suchergebnissen aus und installieren Sie es. Danach ist unser Projekt bereit für die Verwendung in der IronXL-Bibliothek.

Der folgende Screenshot zeigt, wie der NuGet Package Manager in Visual Studio geöffnet werden kann.

Wie man große Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 5: Navigieren Sie zum NuGet-Paket-Manager in Visual Studio

Wechseln Sie zum NuGet-Paket-Manager in Visual Studio

IronXL in den Suchergebnissen:

So exportieren Sie große Datenmengen von Datatable nach Excel in C#, Abbildung 6: Suche nach der IronXL-Bibliothek

Suche nach der IronXL-Bibliothek

2.2 Verwendung der Visual Studio-Befehlszeile

Viele Menschen lieben es, eine Konsole zu benutzen, um Operationen durchzuführen. Wir können es also auch über die Konsole installieren. Folgen Sie den folgenden Schritten, um IronXL über die Befehlszeile zu installieren.

  • In Visual Studio, gehen Sie zu Extras -> NuGet-Paket-Manager -> Paket-Manager-Konsole.
  • Geben Sie auf der Registerkarte Paketmanager-Konsole die folgende Zeile ein:
Install-Package IronXL.Excel

Jetzt wird das Paket in das aktuelle Projekt heruntergeladen/installiert und ist einsatzbereit.

Wie man riesige Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 7: Installieren des IronXL-Pakets über die Konsole

Installieren Sie das IronXL-Paket über die Konsole

2.3 Direkter Download von der NuGet-Website

Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Website herunterzuladen.

  • Wechseln Sie zur offiziellen IronXL-Paketseite bei NuGet.
  • Wählen Sie im Menü auf der rechten Seite die Option Paket herunterladen.
  • Doppelklicken Sie auf das heruntergeladene Paket. Sie wird automatisch installiert.
  • Laden Sie anschließend die Lösung neu und verwenden Sie sie im Projekt.

2.4 Direkter Download von der IronXL-Website

Klicken Sie auf den Link, um das neueste Paket direkt von der Website herunterzuladen. Nach dem Herunterladen folgen Sie den unten stehenden Schritten, um das Paket dem Projekt hinzuzufügen.

  • Klicken Sie mit der rechten Maustaste auf das Projekt im Lösungsfenster.
  • Wählen Sie dann die Optionen Referenz und suchen Sie den Speicherort der heruntergeladenen Referenz.
  • Klicken Sie anschließend auf OK, um die Referenz hinzuzufügen.

3 Exportieren von Daten in eine Excel-Datei mit IronXL

IronXL ermöglicht es uns, Datentabellen mit einer begrenzten Anzahl von Schritten in Excel-Dateien zu exportieren.

Zunächst müssen wir den Namespace von IronXL einbinden, wie im folgenden Screenshot zu sehen ist. Sobald sie hinzugefügt ist, können wir die IronXL-Klassen und -Methoden in unserem Code verwenden.

Wie man große Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 8: Namespace von IronXL einbinden, bevor die Bibliothek verwendet wird

Schließen Sie das namespace von IronXL ein, bevor Sie die Bibliothek verwenden

IronXL ermöglicht es uns, Excel-Dateien zu erstellen und sie in Arbeitsmappenobjekte umzuwandeln. Nachdem wir sie in Objekte umgewandelt haben, können wir verschiedene Operationen durchführen. Im folgenden Codebeispiel wird eine Datentabelle in ein Excel-Arbeitsblatt umgewandelt, und anschließend kann eine Excel-Datei erstellt werden.

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
$vbLabelText   $csharpLabel

In dem obigen Code exportieren wir die Datentabelle in eine Excel-Datei. Zuerst erstellen wir eine DataTable und dann erstellen wir die Spaltenüberschriften. Nach der Erstellung der Spalten fügen wir die Spalten nacheinander hinzu. Sobald wir die Spalte hinzugefügt haben, erstellen wir das WorkBook-Objekt. Mithilfe des Objekts können wir die Daten in das Excel-Blatt einfügen und dann an einem bestimmten Ort speichern. Wir erstellen das WorkSheet-Objekt, das die Erstellung eines Arbeitsblatts ermöglicht, und dann können wir dieses dem WorkBook-Objekt hinzufügen.

Wir verwenden die foreach-Schleife, um die Werte der Datentabelle nacheinander auszulesen und fügen dann den Wert zum Arbeitsblatt hinzu. Sobald alle Werte dem Arbeitsblatt hinzugefügt wurden, speichern wir sie mit der Methode SaveAsCSV in einer CSV-Datei. Als Parameter müssen wir das Trennzeichen und den Dateinamen mit Speicherort übergeben. Ein Begrenzungszeichen ist ein optionaler Parameter, der ignoriert werden kann, wenn er nicht benötigt wird.

Wie man große Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 9: Der vollständige Code in Visual Studio

Der abgeschlossene Code in Visual Studio

Oben sehen Sie den vollständigen Screenshot des Codes, den wir auf dem .NET Core 6 verwenden.

Ergebnis:

Wie man große Datenmengen von Datatable nach Excel in C# exportiert, Abbildung 10: Das Ergebnis beim Öffnen der Datei in Microsoft Excel

Das Ergebnis beim Öffnen der Datei in Microsoft Excel

Oben sehen Sie das Ergebnis des ausgeführten Codebeispiels. Im Screenshot wurden alle in der Datentabelle verfügbaren Daten nacheinander in das neu erstellte Excel-Blatt eingefügt.

4 Schlussfolgerung

IronXL ist eine der am häufigsten verwendeten Excel-Bibliotheken. Sie ist nicht von einer anderen Bibliothek eines Drittanbieters abhängig. Es ist unabhängig und benötigt keine Installation von MS Excel. Es funktioniert auf mehreren Plattformen. Der Einführungspreis für IronXL beginnt bei $749. Außerdem besteht die Möglichkeit, eine Jahresgebühr für Produktsupport und Updates zu entrichten. IronXL bietet eine lizenzgebührenfreie Weitergabedeckung gegen Aufpreis an. Um mehr über die Preisdaten zu erfahren, besuchen Sie unsere Lizenzseite.

Regan Pun
Software-Ingenieur
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS
C# Excel-Datei programmatisch öffnen (Code-Beispiel-Tutorial)
NÄCHSTES >
Verschieben von Zeilen in Excel