IRONXL VERWENDEN

C# Schnellster Weg zum Exportieren von DataTable nach Excel

Aktualisiert 26. September 2024
Teilen Sie:

Bei der Arbeit mit Tabellenkalkulationen ist die Microsoft Excel-Anwendung ein beliebtes Tabellenkalkulationswerkzeug, das für die Verwaltung großer Datensätze in tabellarischer Form konzipiert ist. Es bietet leistungsstarke Funktionen wie komplexe Berechnungen, Datenvisualisierung durch Diagramme und Grafiken, Pivot-Tabellen und Unterstützung für die Automatisierung über Visual Basic for Applications.(VBA). Die robusten Datenanalyse- und Visualisierungswerkzeuge haben Excel zu einer führenden Wahl in verschiedenen Branchen gemacht. Mit Excel können Sie ganz einfach Dateien erstellen, bearbeiten, anzeigen und teilen, wodurch Ihre Datenverwaltungsaufgaben optimiert werden.

In C# repräsentiert das DataTable-Objekt in der ADO.NET-Bibliothek tabellarische Daten innerhalb eines Programms, ähnlich wie ein Excel-Arbeitsblatt. Es organisiert Daten in Zeilen und Spalten, was eine einfache Manipulation und Export ermöglicht. Genau wie Excel unterstützt DataTable Filter-, Sortier- und Formatierungsoptionen, wodurch es ein unverzichtbares Tool für die Verwaltung von Datenbereichen in C# ist. Allerdings wird DataTable zur Laufzeit erstellt und seine Daten gehen verloren, wenn die Anwendung geschlossen wird, es sei denn, sie werden in ein dauerhaftes Format exportiert, wie zum Beispiel eine Excel- oder CSV-Datei.

Heute werden wir erforschen, wie man eine DataTable in C# erstellt und deren Daten mit IronXL, einer leistungsstarken .NET Excel-Bibliothek, in ein Excel-Dokument exportiert.

IronXL: Eine .NET Excel-Bibliothek

IronXList eine C# .NET-Bibliothek, die den Prozess der Erstellung von Excel-Dateien vereinfacht. Mit IronXL können Sie neue Tabellenkalkulationen erstellen, vorhandene bearbeiten, mit Excel-Formeln arbeiten, die Zellen Ihrer Tabelle formatieren und vieles mehr. Sein umfangreiches Funktionsspektrum macht das programmatische Arbeiten mit Excel-Dateien zum Kinderspiel und, am wichtigsten, IronXL funktioniert ohne Microsoft Office Interop. Das bedeutet, dass keine Installation von Microsoft Office oder anderen speziellen Abhängigkeiten erforderlich ist.

Mit IronXL können Sie Daten in verschiedenen Formaten wie XLS und XLSX, CSV-Daten und TSV, JSON, XML und HTML, Binär und Byte-Array speichern oder exportieren. Es verfügt auch über starke Sicherheitsfunktionen für Arbeitsmappen, wie das Hinzufügen von Berechtigungen und Passwörtern, und ermöglicht Ihnen die Bearbeitung der Arbeitsmappendaten.

Schritte zum Exportieren von Daten aus einer Datentabelle in eine Excel-Datei

Voraussetzungen

Um IronXL zu verwenden, um Daten aus einer Datatable in eine Excel-Datei in C# zu exportieren, müssen die folgenden Komponenten auf dem lokalen Computer installiert werden. Schauen wir sie uns nacheinander an.

  1. Visual Studio - Visual Studio ist die IDE für die C#-Programmierung und muss installiert werden. Sie können die neueste Version herunterladen und installieren von Visual Studio-Website.

    • Sobald die IDE eingerichtet ist, muss eine Konsolenanwendung/Windows-Form erstellt werden, die dabei hilft, die Datentabelle nach Excel zu exportieren. Die folgenden Screenshots zeigen, wie man ein Projekt erstellt.

      Ein Projekt erstellen

    Wählen Sie nun Ihren Projekttyp aus. In unserem Beispiel werden wir eine Konsolenanwendung erstellen.

    Konsolen-App

    Geben Sie Ihrem Projekt einen Namen und wählen Sie den Speicherort aus, an dem es gespeichert wird.

    Projekt benennen

    Wählen Sie schließlich Ihr .NET Framework und klicken Sie auf "Erstellen".

    .NET Framework

    Nach dem Klicken auf Erstellen im letzten Screenshot wird das Projekt mit dem Namen "DemoApp" erstellt.

  2. IronXL-Bibliothek - Die IronXL-Bibliothek muss im Visual Studio-Projekt heruntergeladen und installiert werden. Es gibt mehrere Möglichkeiten, dies zu tun.

    • Verwendung von Visual Studio - Es stellt den NuGet Package Manager zur Verfügung, um IronXL zu installieren. Sie können über das Menü Extras oder den Projektmappen-Explorer darauf zugreifen. Die folgenden Bildschirmabbildungen helfen bei der Installation von IronXL. Zuerst navigieren Sie zu „Tools“ in der oberen Leiste oder klicken Sie mit der rechten Maustaste innerhalb Ihres Solution Explorers.

      Lösung Explorer

      Tools - NuGet-Paket-Manager

    Gehen Sie zu NuGet-Pakete für die Lösung verwalten und suchen Sie nach IronXL. Dann müssen Sie nur noch auf "Installieren" klicken, und die IronXL-Bibliothek wird zu Ihrem Projekt hinzugefügt.

    IronXL durchsuchen

    • Entwickler-Eingabeaufforderung - Öffnen Sie die Entwickler-Eingabeaufforderung entweder über das Menü Visual Studio Tools oder über den Ordner Visual Studio. Geben Sie den folgenden Befehl ein, um IronXL herunterzuladen und in Ihrem Projekt zu installieren:
PM > Install-Package IronXL.Excel
PM > Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PM > Install-Package IronXL.Excel
VB   C#
  1. Notwendige Namespaces hinzufügen - Um eine DataTable zu erstellen und IronXL zu verwenden, sollten beide am Anfang der Datei Program.cs referenziert werden.
using IronXL; //add reference...
   using System.Data;
using IronXL; //add reference...
   using System.Data;
Imports IronXL 'add reference...
   Imports System.Data
VB   C#

Sobald alle Voraussetzungen erfüllt sind, ist es an der Zeit, Daten aus dem DataTable in ein Excel-Blatt zu exportieren.

Erstellen einer DataTable in C#;

Der folgende Code erstellt eine neue Datentabelle mit zwei Spaltenüberschriften und mehreren Zeilen:

//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
'new datatable dt...
Dim dt As New DataTable()
'add column names...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") ' first row...
dt.Rows.Add("Dog", "Barks")
dt.Rows.Add("Cat", "Meows")
dt.Rows.Add("Goat", "Bleats")
dt.Rows.Add("Wolf", "Howls")
dt.Rows.Add("Cheetah", "Purrs")
VB   C#

Zuerst erstellen wir ein neues DataTable namens "dt". Dann können wir mit Columns.Add eine bestimmte Anzahl von Spalten zur Datentabelle nach Namen hinzufügen. In unserem Beispiel haben wir zwei Spalten namens "Animal" und "Sound". Wir verwenden dann Rows.Add, um neue Zeilen hinzuzufügen, wobei wir den Inhalt für jede Zeile in die Klammern setzen. Der Inhalt ist durch Kommata getrennt, wobei jeder String durch Spalten getrennt ist.

Erstellen von Excel-Dateien mit IronXL in C#;

Beim Erstellen von Excel-Dateitypen von Grund auf mit IronXL handelt es sich um einen zweistufigen Prozess, der in C# sehr einfach zu implementieren ist. IronXL erstellt zuerst eine Excel-Arbeitsmappe und hilft dann, ein Arbeitsblatt hinzuzufügen. Der folgende Beispielcode zeigt, wie man ein Arbeitsmappe zusammen mit dem Arbeitsblatt erstellt:

//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
'create new workbook...
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.DefaultWorkSheet
VB   C#

Exportieren von Daten aus einer Datentabelle in ein Excel-Arbeitsblatt mit IronXL

Die Verwendung von IronXL zur Ergänzung von Werten in Arbeitsblättern rationalisiert den gesamten Prozess, da es diese Aufgabe mit minimalem Code ausführen kann. Hier lernen wir, wie manDaten aus der DataTable exportieren die im vorherigen Abschnitt erstellt wurde, in das neu erstellte Excel-Arbeitsblatt. Schauen wir uns den Code Schritt für Schritt an.

Fügen Sie der Excel-Arbeitsmappe eine Spaltenüberschrift hinzu

ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws("A1").Value = dt.Columns(0).ToString()
ws("B1").Value = dt.Columns(1).ToString()
Dim rowCount As Integer = 2
VB   C#

Im obigen Code wird der Excel-Tabellenspalte "A1" der Wert aus der Spalte 1 des Datensatzes an Index 0 zugewiesen, und der nächste Excel-Spaltenwert "B1" wird aus Spalte 2 an Index 1 im Datensatz zugewiesen. Die Variable rowCount wird auf den Wert 2 gesetzt, um Zeilen aus der Datentabelle ab Zeile zwei zu lesen. Dadurch wird sichergestellt, dass die Kopfzeile nicht mitgezählt wird.

Zeilen zum Excel-Arbeitsblatt hinzufügen

Der folgende Code wird jede Zeile aus der Datentabelle lesen und sie einer neuen Zeile in der Excel-Datei zuweisen:

foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	ws("B" & (rowCount)).Value = row(1).ToString()
	rowCount += 1
Next row
VB   C#

Die rowCount-Variable wird jedes Mal inkrementiert, damit eine neue Zeile gelesen wird aus demdatentabelle zu Excel arbeitsblattzellen im obigen Code.

Excel-Datei speichern

Speichern Sie schließlich die Excel-Datei mit der SaveAs() Methode.

wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
VB   C#

Die Datei kann auch in anderen Formaten gespeichert werden, z.B. CSV.(Kommagetrennte Werte)jSON, XML.

wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
VB   C#

Sie können es auch mit einem benutzerdefinierten Trennzeichen speichern.

Ausgabe

Die endgültige Ausgabe der Datei sieht wie folgt aus:

DataTable zu Excel-Ausgabe

Zusammenfassung

In diesem Artikel haben wir gezeigt, wie man eine DataTable mit Spalten und Zeilen in C# erstellt und anschließend mit IronXL eine Excel-Arbeitsmappe mit einem Standard-Arbeitsblatt generiert. Wir haben dann erfolgreich die tabellarischen Daten aus der DataTable in eine Excel-Datei exportiert und im .xlsx-Format gespeichert.

IronXList eine benutzerfreundliche C#-Bibliothek, die es Entwicklern ermöglicht, nahtlos mit Excel-Dateien zu arbeiten, sogar ohne dass MS Excel installiert ist. Es unterstützt den Export von Daten aus verschiedenen Formaten, wie z.B. CSV-Dateien, zur weiteren Bearbeitung und Berechnung.

Um mehr über IronXL und seine umfangreichen Funktionen zu erfahren, besuchen Sie unbedingt seine umfassende dokumentation. Möchten Sie es selbst ausprobieren? IronXL bietet auch einkostenloser Testmit vollem Zugriff auf alle Funktionen, damit Sie sofort erkunden können, wie diese leistungsstarke Bibliothek Ihre Tabellenprojekte verbessern kann!

< PREVIOUS
Wie exportiert man eine Datenbasis in VB.NET nach Excel?
NÄCHSTES >
Wie man Excel-Dateien in C# liest

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,132,445 Lizenzen anzeigen >