Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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 ist 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.
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.
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.
Wählen Sie nun Ihren Projekttyp aus. In unserem Beispiel werden wir eine Konsolenanwendung erstellen.
Geben Sie Ihrem Projekt einen Namen und wählen Sie den Speicherort aus, an dem es gespeichert wird.
Wählen Sie schließlich Ihr .NET Framework und klicken Sie auf "Erstellen".
Nach dem Klicken auf Erstellen im letzten Screenshot wird das Projekt mit dem Namen "DemoApp" erstellt.
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.
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.
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
using IronXL; //add reference...
using System.Data;
using IronXL; //add reference...
using System.Data;
Imports IronXL 'add reference...
Imports System.Data
Sobald alle Voraussetzungen erfüllt sind, ist es an der Zeit, Daten aus dem DataTable in ein Excel-Blatt zu exportieren.
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")
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.
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
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 man Daten 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.
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
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.
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
Die rowCount-Variable wird jedes Mal inkrementiert, damit eine neue Zeile gelesen wird aus dem datentabelle zu Excel arbeitsblattzellen im obigen Code.
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")
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")
Sie können es auch mit einem benutzerdefinierten Trennzeichen speichern.
Die endgültige Ausgabe der Datei sieht wie folgt aus:
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.
IronXL ist 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 ein kostenloser Test mit vollem Zugriff auf alle Funktionen, damit Sie sofort erkunden können, wie diese leistungsstarke Bibliothek Ihre Tabellenprojekte verbessern kann!
9 .NET API-Produkte für Ihre Bürodokumente