Wie exportiert man eine `DataTable` in C# als CSV-Datei?
IronXL ermöglicht die nahtlose Konvertierung von DataTable in CSV in C#, ohne dass eine Installation von Microsoft Excel erforderlich ist. Diese eigenständige .NET -Bibliothek bietet eine einfache API zur automatischen Konvertierung von DataTables in CSV-Dateien mit benutzerdefinierten Strukturen und Trennzeichen, wodurch der Datenexport für Entwickler unkompliziert wird.
IronXL ist eine beliebte Bibliothek, die es Entwicklern ermöglicht, mit Microsoft Excel-Dokumenten in C# .NET -Technologien zu interagieren, einschließlich CSV-Dateien, ohne dass Microsoft Excel installiert sein muss. Es ermöglicht die automatische Konvertierung registrierter Typen in CSV-Dateien und das Schreiben von CSV-Dateien mit benutzerdefinierten Strukturen.
Welche Funktionen bietet die IronXL -Bibliothek?
Microsoft Excel-Dokumente können mit Hilfe der C# IronXL .NET -Bibliothek gelesen und in CSV-Dateien konvertiert werden. IronXL ist eine eigenständige .NET -Softwarebibliothek, die eine Vielzahl von Tabellenkalkulationsformaten lesen kann. Es ist nicht von Microsoft.Office.Interop.Excel abhängig und erfordert auch nicht die Installation von Microsoft Excel.
Mithilfe der benutzerfreundlichen C#-API von IronXL können Sie Excel-Tabellenkalkulationsdateien in der .NET Umgebung schnell lesen, bearbeiten und erstellen. .NET Core, .NET Framework, Xamarin, Mobile, Linux , macOS und Azure werden von IronXL vollständig unterstützt.
- Führende .NET Core- und .NET Framework-Excel-Tabellenbibliotheken für C# umfassen IronXL.
- Nahezu alle .NET Frameworks werden unterstützt, einschließlich Konsolenanwendungen, Windows Forms und Webanwendungen.
- IronXL läuft auf den Betriebssystemen Windows, Linux und macOS.
- IronXL macht das Lesen von Excel-Dateien einfach und schnell.
- IronXL unterstützt mehrere Excel-Formate: XLSX, XLS, CSV, TSV, XLST und XLSM.
- IronXL exportiert Dateien in verschiedene Formate, darunter XLS, CSV, TSV, JSON und XML.
- IronXL generiert Excel-Berechnungen und unterstützt Formeln.
- IronXL unterstützt Excel-Spaltendatenformate, einschließlich Text, Zahlen, Datumsangaben, Währungen und Prozentsätze.
Weitere Details finden Sie in der IronXL -Dokumentationsübersicht .
Wie erstelle ich ein neues Projekt in Visual Studio?
In Visual Studio muss ein .NET-Projekt erstellt werden, bevor das IronXL-Framework verwendet werden kann. Jede Edition von Visual Studio funktioniert, aber die neueste Version wird empfohlen. Je nach Bedarf können Sie eine Windows Forms-Anwendung oder verschiedene Projektvorlagen erstellen. Um es einfach zu halten, wird in diesem Tutorial die Konsolenanwendung verwendet.
Erstellen Sie ein neues Projekt in Visual Studio
Danach geben Sie den Namen und den Speicherort des Projekts ein.
Das neue Projekt konfigurieren
Wählen Sie als Nächstes die folgende Struktur aus. In diesem Projekt wird .NET Core 6 verwendet.
Wählen Sie eine .NET Framework-Version
Die Datei program.cs wird geöffnet, nachdem die Anwendung die Lösung generiert hat, damit Sie den Programmcode eingeben und die Anwendung erstellen/ausführen können.
Das neu erstellte Konsolenanwendungsprojekt
Anschließend kann die Bibliothek hinzugefügt und zur Bewertung des Codes verwendet werden. Bei anderen Projekttypen wie .NET MAUI Anwendungen oder VB .NET Projekten ist der Prozess ähnlich, jedoch sind frameworkspezifische Aspekte zu berücksichtigen.
Wie installiere ich die IronXL-Bibliothek?
Es gibt vier Methoden, um die IronXL-Bibliothek herunterzuladen und zu installieren.
Diese sind:
- Installation über Visual Studio
- Installation über die Visual Studio Package Manager-Konsole
- Direkt von der NuGet-Website herunterladen
- Direkter Download von der IronXL-Website
Welche Methode sollte ich für die Installation von Visual Studio verwenden?
Mit dem NuGet Package Manager kann das IronXL-Modul installiert werden. Um IronXL zu finden, müssen Sie zunächst den NuGet Package Manager starten und dann im Suchfenster suchen. Installieren Sie IronXL, indem Sie es aus den Suchergebnissen auswählen. Danach kann diese App die IronXL-Bibliothek verwenden.
Das Bild unten zeigt, wie man den NuGet-Paketmanager von Visual Studio startet.
Zu NuGet Package Manager navigieren
Installiere das IronXL-Paket in der NuGet Package Manager-Oberfläche
Wann sollte ich die Paket-Manager-Konsole verwenden?
Viele Entwickler bevorzugen die Verwendung einer Konsole zur Ausführung von Aufgaben. Eine Terminalinstallation ist daher ebenfalls eine Option. Um IronXL über die Befehlszeile zu installieren, folgen Sie den nachstehenden Anweisungen.
- Navigieren Sie zu Tools > NuGet Package Manager > Paketmanager-Schnittstelle in Visual Studio.
-
Geben Sie den folgenden Befehl in das Konsolenfenster des Paketmanagers ein:
Install-Package IronXL.Excel
- Warten Sie, bis IronXL in das aktive Projekt heruntergeladen und installiert ist.
Installiere das IronXL-Paket in der Paketmanager-Konsolenbenutzeroberfläche
Warum sollte ich von der NuGet Website herunterladen?
Das NuGet-Paket kann als dritte Option direkt von der Website heruntergeladen werden. Diese Methode ist besonders nützlich, wenn Sie in Umgebungen mit eingeschränktem Internetzugang arbeiten oder Pakete manuell verwalten müssen.
- Navigieren Sie zum offiziellen NuGet Link .
- Die Option zum Herunterladen des Pakets finden Sie im Menü auf der rechten Seite.
- Klicken Sie zweimal auf die gespeicherte Datei. Es wird sofort installiert.
- Laden Sie die Lösung danach neu und beginnen Sie, sie im Projekt zu verwenden.
Wie installiere ich IronXL direkt von der IronXL -Website?
Um das neueste Paket direkt von der Website herunterzuladen, klicken Sie auf diesen Link, um eine IronXL-ZIP-Datei herunterzuladen. Dieser Link lädt eine ZIP-Datei herunter, die die neueste Version der IronXL-Bibliotheks-DLL enthält. Wenn der Download abgeschlossen ist, extrahieren Sie den Inhalt der ZIP-Datei in ein beliebiges Verzeichnis Ihrer Wahl.
Um die Datei nach dem Herunterladen zum Projekt hinzuzufügen, befolgen Sie die unten aufgeführten Schritte.
- Klicken Sie im Lösungsfenster mit der rechten Maustaste auf das Projekt.
- Wählen Sie Verweise aus und navigieren Sie dann zu dem extrahierten Ordner, der die IronXL-DLLs enthält.
- Wählen Sie die DLL aus und klicken Sie auf OK, um sie als Referenz zum aktiven Projekt hinzuzufügen.
Für verschiedene Bereitstellungsszenarien können Sie IronXL auch in Docker-Containern einrichten oder auf Cloud-Plattformen wie AWS Lambda und Azure Functions bereitstellen.
Wie exportiere ich eine DataTable-Datei in eine CSV-Datei?
DataTables kann mit IronXL einfach und schnell in CSV-Dateien exportiert werden. Es hilft dabei, Daten in neue CSV-Dateien zu schreiben und dabei benutzerdefinierte Trennzeichen und Kodierungsoptionen zu unterstützen.
Zunächst sollte, wie im folgenden Code-Bild gezeigt, der IronXL-Namespace enthalten sein, um die IronXL-Klassen und -Methoden verwenden zu können.
Fügen Sie allgemeine Namespaces hinzu
Mit IronXL lassen sich Excel-Dateien erstellen, die dann in WorkBook- Objekte umgewandelt werden. Anschließend werden verschiedene Operationen an diesen Objekten durchgeführt. Der unten stehende Beispielcode erstellt eine Excel-Datei, indem er eine DataTable-Datei in ein Excel-Arbeitsblatt umwandelt.
using IronXL;
using System.Data;
// Entry point of the application
static void Main(string[] args)
{
// Specify the file path for the CSV file output
ExportToExcel("H:\\test.csv");
}
// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
// Create a DataTable and add columns and rows
DataTable table = new DataTable();
table.Columns.Add("DataSet_Fruits", typeof(string));
table.Rows.Add("Apple");
table.Rows.Add("Orange");
table.Rows.Add("Strawberry");
table.Rows.Add("Grapes");
table.Rows.Add("Watermelon");
table.Rows.Add("Bananas");
table.Rows.Add("Lemons");
// Create a new WorkBook and add the DataTable data to it
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
var writer = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Write each item from the DataTable into the worksheet starting from cell A1
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file with a specified delimiter
wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using System.Data;
// Entry point of the application
static void Main(string[] args)
{
// Specify the file path for the CSV file output
ExportToExcel("H:\\test.csv");
}
// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
// Create a DataTable and add columns and rows
DataTable table = new DataTable();
table.Columns.Add("DataSet_Fruits", typeof(string));
table.Rows.Add("Apple");
table.Rows.Add("Orange");
table.Rows.Add("Strawberry");
table.Rows.Add("Grapes");
table.Rows.Add("Watermelon");
table.Rows.Add("Bananas");
table.Rows.Add("Lemons");
// Create a new WorkBook and add the DataTable data to it
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
var writer = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Write each item from the DataTable into the worksheet starting from cell A1
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file with a specified delimiter
wb.SaveAsCsv(filepath, ";");
}
Imports IronXL
Imports System.Data
' Entry point of the application
Shared Sub Main(ByVal args() As String)
' Specify the file path for the CSV file output
ExportToExcel("H:\test.csv")
End Sub
' Exports the DataTable to an Excel file and saves it as CSV
Public Shared Sub ExportToExcel(ByVal filepath As String)
' Create a DataTable and add columns and rows
Dim table As New DataTable()
table.Columns.Add("DataSet_Fruits", GetType(String))
table.Rows.Add("Apple")
table.Rows.Add("Orange")
table.Rows.Add("Strawberry")
table.Rows.Add("Grapes")
table.Rows.Add("Watermelon")
table.Rows.Add("Bananas")
table.Rows.Add("Lemons")
' Create a new WorkBook and add the DataTable data to it
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim writer = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
' Write each item from the DataTable into the worksheet starting from cell A1
writer("A" & (rowCount)).Value = row(0).ToString()
rowCount += 1
Next row
' Save the workbook as a CSV file with a specified delimiter
wb.SaveAsCsv(filepath, ";")
End Sub
Der obige Code exportiert die Tabelle DataTable in eine Excel-Datei. Spaltenüberschriften werden automatisch erstellt, sobald eine Tabelle DataTable angelegt wird. Dann fügen Sie die Zeilen eine nach der anderen hinzu, nachdem Sie die erste Spalte erstellt haben. Das Objekt WorkBook wird erstellt, nachdem dem Objekt DataTable die Spalten und Zeilen hinzugefügt wurden, um diese Daten aufzunehmen. Anschließend wird das Objekt WorkSheet erstellt und dem Objekt WorkBook hinzugefügt.
Jeder Wert aus dem DataTable wird gelesen und mithilfe einer foreach Schleife addiert, bevor der Wert zum WorkSheet addiert wird. Nachdem alle Werte in das Arbeitsblatt eingefügt wurden, speichert die Methode SaveAsCsv diese in einer CSV-Datei. Sie können sowohl das Trennzeichen als auch den Dateispeicherort als Parameter angeben.
Für komplexere Szenarien empfiehlt es sich, mehrere DataTables als separate Arbeitsblätter zu exportieren oder mit DataSets zu arbeiten, um die Daten strukturierter zu organisieren.
Arbeiten mit verschiedenen CSV-Formaten
IronXL bietet Flexibilität bei der Arbeit mit CSV-Dateien. Hier ist ein Beispiel, das zeigt, wie man ein DataTable mit benutzerdefinierter Formatierung und Kodierung exportiert:
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
// Create workbook from DataTable
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.CreateWorkSheet("DataExport");
// Add headers
for (int i = 0; i < dataTable.Columns.Count; i++)
{
ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
}
// Add data rows
for (int row = 0; row < dataTable.Rows.Count; row++)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
}
}
// Save with custom delimiter (comma) and UTF-8 encoding
wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
// Create workbook from DataTable
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.CreateWorkSheet("DataExport");
// Add headers
for (int i = 0; i < dataTable.Columns.Count; i++)
{
ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
}
// Add data rows
for (int row = 0; row < dataTable.Rows.Count; row++)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
}
}
// Save with custom delimiter (comma) and UTF-8 encoding
wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
Imports System.Text
' Export with custom delimiter and encoding
Public Shared Sub ExportToCSVWithOptions(dataTable As DataTable, filepath As String)
' Create workbook from DataTable
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.CreateWorkSheet("DataExport")
' Add headers
For i As Integer = 0 To dataTable.Columns.Count - 1
ws($"{ChrW(AscW("A"c) + i)}1").Value = dataTable.Columns(i).ColumnName
Next
' Add data rows
For row As Integer = 0 To dataTable.Rows.Count - 1
For col As Integer = 0 To dataTable.Columns.Count - 1
ws($"{ChrW(AscW("A"c) + col)}{row + 2}").Value = dataTable.Rows(row)(col)
Next
Next
' Save with custom delimiter (comma) and UTF-8 encoding
wb.SaveAsCsv(filepath, ",", Encoding.UTF8)
End Sub
Dieser Ansatz gibt Ihnen mehr Kontrolle über den Exportprozess, da Sie Zelldatenformate festlegen und die Ausgabestruktur anpassen können.
Die ausgegebene CSV-Datei
Die Ausgabe des ausgeführten Codesamples ist oben gezeigt. Im Screenshot wurde jedes Datenstück aus der Datentabelle einzeln zum neu erstellten Excel-Blatt hinzugefügt. Sie können Zellen auch vor dem Export formatieren oder Formeln für berechnete Werte hinzufügen .
Für komplexere CSV-Operationen können Sie:
- CSV-Dateien mit benutzerdefinierten Trennzeichen lesen
- Schreiben in CSV-Dateien mit spezifischer Kodierung
- Konvertierung zwischen verschiedenen Tabellenformaten
- Export in JSON- oder XML- Formate
Um mehr über das IronXL-Tutorial zu erfahren, klicken Sie auf dieses How-to für den Export in Excel-Formate.
Warum sollte ich IronXL für den CSV-Export verwenden?
Eines der beliebtesten Excel-Tools ist IronXL. Es hängt nicht von anderen Bibliotheken aus externen Quellen ab. Es ist autonom und erfordert keine Installation von Microsoft Excel. Es funktioniert über zahlreiche Kanäle hinweg.
IronXL bietet eine All-in-One-Lösung für alle Aufgaben im Zusammenhang mit Microsoft Excel-Dokumenten, die programmgesteuert implementiert werden sollen. Sie können Formelberechnungen durchführen, Zeichenketten oder Zahlen sortieren , kürzen und anhängen , suchen und ersetzen, zusammenführen und die Zusammenführung aufheben , Dateien speichern usw. Außerdem können Sie Zelldatenformate festlegen und Tabellendaten überprüfen. Es unterstützt auch das Lesen und Schreiben von CSV-Dateien und hilft Ihnen, wie mit Excel-Daten zu arbeiten.
Zu den weiteren Vorteilen gehören:
- Passwortschutz für den Export sensibler Daten
- Leistungsoptimierung für große Datensätze
- Unterstützung für bedingte Formatierung in Excel vor dem CSV-Export
- Unterstützung für benannte Bereiche und benannte Tabellen
- Beibehaltung von Hyperlinks in unterstützten Formaten
Der Startpreis von IronXL beträgt $799. Es bietet den Benutzern auch die Möglichkeit, eine Jahresabonnementgebühr für Produkthilfe und Updates zu zahlen. Für eine zusätzliche Gebühr bietet IronXL Sicherheit für die uneingeschränkte Weiterverbreitung. Für näherungsweise Preisdetails besuchen Sie bitte diese Lizenzierungsseite.
Häufig gestellte Fragen
Wie kann ich eine DataTable in eine CSV-Datei in C# exportieren?
Sie können IronXL verwenden, um eine DataTable in eine CSV-Datei zu exportieren, indem Sie ein WorkBook erstellen und die Daten in Tabellenblattobjekte exportieren. Dies ermöglicht eine nahtlose Konvertierung und Export, ohne dass Microsoft Excel erforderlich ist.
Welche Dateiformate kann ich mit dieser Bibliothek exportieren?
IronXL ermöglicht den Export von Daten in verschiedene Formate wie XLS, CSV, TSV und JSON und bietet Flexibilität beim Umgang mit unterschiedlichen Datenanforderungen.
Ist es möglich, Excel-ähnliche Operationen mit dieser Bibliothek durchzuführen?
Ja, IronXL ermöglicht Excel-ähnliche Operationen wie Formelberechnungen, Datensortierung und Dateispeicherung und ist damit ein umfassendes Tool für Excel-bezogene Programmieraufgaben.
Muss ich Microsoft Excel installieren, um diese Bibliothek zu verwenden?
Nein, IronXL ist eine eigenständige .NET-Bibliothek, die keine Installation von Microsoft Excel erfordert und Entwicklern ermöglicht, mit Excel-Dokumenten direkt innerhalb ihrer C#-Anwendungen zu arbeiten.
Welche Plattformen sind mit dieser Bibliothek kompatibel?
IronXL ist mit mehreren Plattformen kompatibel, darunter .NET Core, .NET Framework, Xamarin sowie Betriebssysteme wie Windows, Linux und macOS.
Wie kann ich die IronXL-Bibliothek in meinem Projekt installieren?
IronXL kann in einem .NET-Projekt über Visual Studio installiert werden, indem auf den NuGet-Paket-Manager zugegriffen oder direkt von der NuGet- oder IronXL-Website heruntergeladen wird.
Welche Preisoptionen gibt es für diese Bibliothek?
IronXL bietet einen Einstiegspreis mit Optionen für ein einjähriges Abonnement, das Produktunterstützung und Updates umfasst, für fortlaufenden Support und Zugang zu den neuesten Funktionen.




