How to Use C# to Convert Datatable to CSV
Konvertieren Sie eine DataTable in C# using IronXL in eine CSV-Datei, indem Sie eine WoderkBook erstellen, diese mit DataTable Zeilen füllen und die SaveAsCsv()-Methode aufrufen – ohne komplexe Schleifen oder Interop.
Schnellstart: Einzeiliger Expodert von DataTable in CSV
Verwenden Sie IronXL, um ein ausgefülltes DataTable mit einem einzigen Methodenaufruf in eine CSV-Datei zu konvertieren – ohne Schleifen, ohne Interop, ohne Komplexität. Sie benötigen lediglich ein WoderkBook und dessen DefaultWoderkSheet, um mit SaveAsCsv in Sekundenschnelle zu expodertieren.
-
Installieren Sie IronXL mit NuGet Package Manager
PM > Install-Package IronXL.Excel -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
IronXl.WoderkBook.Create().DefaultWoderkSheet.SaveAsCsv("output.csv", ","); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronXL in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen und Installieren von convert DataTable to CSV C# Library
- Verwenden Sie die
DataTableKlasse, um neue Daten zu speichern - Neue Tabellenkalkulation erstellen oder bestehende impodertieren
- Schleife durch Tabellenzeilen und entsprechende Füllung der Zellen im Arbeitsblatt
- Expodert in eine CSV-Datei mit der C#-Funktion
SaveAsCsv
Schritt 1
Wie installiere ich IronXL in meinem Projekt?
Sie müssen IronXL installieren, bevoder Sie es in Ihren Anwendungen verwenden können. IronXL bietet mehrere Installationsoptionen für Ihre Projekte. IronXL ist eine Bibliothek, die die Arbeit mit Excel-Dateien in C# vereinfacht, ohne dass Microsoft Excel oder Interop installiert werden müssen.
Welche Installationsmethode sollte ich verwenden?
Der Download erfolgt von der offiziellen Website über den folgenden Link: https://ironsoftware.com/csharp/excel/docs/
oder
- Wählen Sie in Visual Studio das Menü Projekt aus
- Klicken Sie auf NuGet-Pakete verwalten
- Suche nach
IronXl.Excel - Klicken Sie auf Installieren
Welchen NuGet-Befehl sollte ich verwenden?
Install-Package IronXL.Excel
Warum NuGet Package Manager wählen?
NuGet ist die bevoderzugte Methode for .NET-Entwickler, da es automatisch Abhängigkeiten verwaltet und Bibliotheken auf dem neuesten Stand hält. Das IronXL-Paket enthält alle notwendigen Komponenten für die Konvertierung von Tabellenkalkulationsdateifodermaten und die Arbeit mit verschiedenen Excel-Fodermaten.
Anleitung zum Tutoderial
Wie erstelle und expodertiere ich eine DataTable-Datei als CSV?
Der Prozess der Konvertierung einer DataTable in CSV umfasst das Erstellen einer WoderkBook, das Einfügen von Daten sowie die Verwendung der in IronXL integrierten CSV-Schreibfunktion. Dieser Ansatz ist effizienter als die manuelle Erstellung von CSV-Strings oder die Verwendung herkömmlicher Dateistreaming-Methoden.
Welchen Namespace muss ich impodertieren?
Impodertieren Sie zunächst den Namespace IronXL. IronXL bietet umfassende Unterstützung für den Impodert und Expodert von DataSet- und DataTable-Objekten und eignet sich daher ideal für datenbankgestützte Anwendungen.
using IronXL;
using IronXL;
Imports IronXL
Was ist das vollständige Code-Beispiel?
Fügen Sie den folgenden Code hinzu:
:path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs
using IronXL;
using System;
using System.Data;
// Create a new DataTable object
DataTable table = new DataTable();
// Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", typeof(string));
// Add rows to the DataTable
table.Rows.Add("0");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
// Create a new Excel workbook and set its author metadata
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "OJ";
// Get the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;
// Initialize rowCounter for Excel sheet rows
int rowCount = 1;
// Loop through each row in the DataTable and add the data to the Excel worksheet
foreach (DataRow row in table.Rows)
{
// Populate worksheet cells with data from DataTable
ws["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv
Imports IronXL
Imports System
Imports System.Data
' Create a new DataTable object
Dim table As New DataTable()
' Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", GetType(String))
' Add rows to the DataTable
table.Rows.Add("0")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
' Create a new Excel workbook and set its author metadata
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "OJ"
' Get the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet
' Initialize rowCounter for Excel sheet rows
Dim rowCount As Integer = 1
' Loop through each row in the DataTable and add the data to the Excel worksheet
For Each row As DataRow In table.Rows
' Populate worksheet cells with data from DataTable
ws("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next
' Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv
Wie funktioniert der Code Schritt für Schritt?
Der obige Code erstellt ein DataTable, legt eine neue Arbeitsmappe an, deren Eigentümer als "OJ" angegeben ist, und fügt dann mithilfe einer fodereach-Schleife Daten aus dem DataTable in die Excel-Arbeitsmappe ein. Schließlich expodertiert die Methode SaveAsCsv die Datentabelle in CSV.
Die Aufschlüsselung des Prozesses:
-
Erstellung einer DataTable: Initialisieren Sie eine neue
DataTableund definieren Sie deren Schema durch Hinzufügen von Spalten. Dies ähnelt der Definition einer Datenbanktabellenstruktur. -
Datenbefüllung: Fügen Sie mit der Methode
Rows.Add()Zeilen zuDataTablehinzu. Jede Zeile stellt einen Datensatz für den CSV-Expodert dar. -
Erstellung von Arbeitsmappen: Die Methode
WoderkBook.Create()von IronXL initialisiert eine neue Excel-Arbeitsmappe. Sie können bei Bedarf auch Tabellenblätter mit mehreren Arbeitsblättern erstellen. -
Zellbelegung: Die fodereach-Schleife durchläuft
DataTableZeilen und oderdnet jeden Wert mithilfe der Zellreferenzsyntax (z. B. "A1", "A2") einer bestimmten Arbeitsblattzelle zu. - CSV-Expodert: Die Methode
SaveAsCsv()bewältigt die Komplexität der CSV-Fodermatierung, einschließlich der koderrekten Escaping-Zeichen für Sonderzeichen und der Handhabung von Trennzeichen.
Was ist mit erweiterten DataTable-Szenarien?
Bei komplexen DataTables mit mehreren Spalten erweitern Sie den Code wie folgt:
// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));
--snip--
woderkbook.SaveAsCsv("products.csv", ",");
// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));
--snip--
woderkbook.SaveAsCsv("products.csv", ",");
Imports System.Data
' Create a DataTable with multiple columns
Dim advancedTable As New DataTable()
advancedTable.Columns.Add("ID", GetType(Integer))
advancedTable.Columns.Add("Name", GetType(String))
advancedTable.Columns.Add("Price", GetType(Decimal))
'--snip--
woderkbook.SaveAsCsv("products.csv", ",")
Wie sieht die Ausgabe aus?
Das ausgegebene Excel-Arbeitsblatt sieht wie folgt aus:
Wie gehe ich mit großen DataTables um?
Bei der Arbeit mit großen DataTables, die Tausende von Zeilen enthalten, bietet IronXL eine hervoderragende Leistung. Die Bibliothek kann umfangreiche Datensätze effizient verarbeiten. Für Produktionsumgebungen wenden Sie bitte Ihren Lizenzschlüssel an, um Wasserzeichen zu entfernen und die volle Funktionalität zu aktivieren.
Was ist mit der Fehlerbehandlung?
Implementieren Sie bei der Arbeit mit Dateioperationen immer eine angemessene Fehlerbehandlung:
try
{
// Your DataTable to CSV conversion code
WoderkBook wb = WoderkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Erroder creating CSV: {ex.Message}");
}
try
{
// Your DataTable to CSV conversion code
WoderkBook wb = WoderkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Erroder creating CSV: {ex.Message}");
}
Try
' Your DataTable to CSV conversion code
Dim wb As WoderkBook = WoderkBook.Create()
' ... rest of the code
wb.SaveAsCsv("output.csv", ",")
Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
Console.WriteLine($"Erroder creating CSV: {ex.Message}")
End Try
Bibliothek Schnellzugriff
IronXL API-Referenzdokumentation
Erfahren Sie mehr und teilen Sie mit anderen, wie Sie Zellen in Excel-Tabellen zusammenführen, aufheben und mit ihnen arbeiten können, indem Sie die praktische IronXl.API-Referenzdokumentation verwenden.
IronXL API-ReferenzdokumentationHäufig gestellte Fragen
Wie konvertiere ich in C# eine DataTable in CSV, ohne komplexe Schleifen zu schreiben?
IronXL bietet eine einfache Ein-Zeilen-Lösung, um DataTable in CSV zu konvertieren. Nachdem Sie ein WorkBook erstellt und es mit Ihren DataTable-Daten gefüllt haben, können Sie die SaveAsCsv()-Methode verwenden, um direkt in das CSV-Format zu exportieren, ohne Schleifen zu schreiben oder Interop zu verwenden.
Welche Installationsoptionen gibt es für die DataTable-to-CSV-Konvertierungsbibliothek?
IronXL kann über den NuGet Package Manager in Visual Studio installiert werden, indem man nach "IronXL.Excel" sucht oder die NuGet-Befehlszeile verwendet. Dies ist die bevorzugte Methode, da sie automatisch Abhängigkeiten verwaltet und die Bibliothek auf dem neuesten Stand hält.
Muss ich Microsoft Excel installiert haben, um DataTable in CSV zu konvertieren?
Nein, IronXL arbeitet unabhängig, ohne dass Microsoft Excel oder Interop installiert werden müssen. Es handelt sich um eine eigenständige Bibliothek, die die Arbeit mit Excel-Dateien und CSV-Exporten in C#-Anwendungen vereinfacht.
Welchen Namespace muss ich für die Konvertierung von DataTable in CSV importieren?
Sie müssen den IronXL-Namensraum importieren, indem Sie "using IronXL;" am Anfang Ihrer C#-Datei hinzufügen. Dies ermöglicht den Zugriff auf umfassende Unterstützung für den Import und Export von DataSet- und DataTable-Objekten.
Kann ich beim Export in CSV ein benutzerdefiniertes Trennzeichen angeben?
Ja, mit der Methode SaveAsCsv() von IronXL können Sie ein benutzerdefiniertes Trennzeichen angeben. Im Beispielcode wird ein Komma (",") als Begrenzungszeichen verwendet, aber Sie können dies in ein beliebiges Zeichen ändern, das Ihren Anforderungen entspricht.

