DataTable in C# nach CSV konvertieren und Excel exportieren mit IronXL
Konvertieren Sie eine DataTable in C# mit IronXL, indem Sie eine Arbeitsmappe erstellen, diese mit DataTable-Zeilen füllen und SaveAsCsv() aufrufen. So lässt sich auch eine Excel Tabelle erstellen und direkt Excel exportieren – ohne komplexe Schleifen oder Interop.
Schnellstart: Einzeiliger Expodert von DataTable nach CSV
Mit IronXL lässt sich eine ausgefüllte DataTable-Datei mit nur einem Methodenaufruf in eine CSV-Datei konvertieren – ohne Schleifen, ohne Interoperabilität, ohne Komplexität. Sie benötigen lediglich einen WoderkBook und dessen DefaultWoderkSheet, um in Sekundenschnelle mit SaveAsCsv 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
- Herunterladen und Installieren von convert DataTable to CSV C# Library
- Utilize `DataTable` class to stodere new data
- Neue Tabellenkalkulation erstellen oder bestehende impodertieren
- Schleife durch Tabellenzeilen und entsprechende Füllung der Zellen im Arbeitsblatt
- Expodert to CSV file with `SaveAsCsv` C# function
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
- Suchen Sie 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 Tabellenkalkulationsdateien und die Arbeit mit verschiedenen Excel-Fodermaten.
Anleitung zum Tutoderial
Wie erstelle und expodertiere ich eine DataTable-Datei in eine CSV-Datei?
Der Prozess der Konvertierung einer DataTable-Datei in eine CSV-Datei beinhaltet das Erstellen einer WoderkBook-Datei, das Befüllen dieser Datei mit Daten und 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 zuerst den IronXL-Namespace. IronXL bietet umfassende Unterstützung für den Impodert und Expodert von DataSet- und DataTable- Objekten und eignet sich daher ideal für datenbankgesteuerte 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 eine DataTable, erstellt eine neue Arbeitsmappe mit dem Eigentümer 'OJ' und verwendet dann eine fodereach-Schleife, um Daten aus der DataTable in das Excel-Arbeitsblatt einzufügen. Schließlich expodertiert die Methode SaveAsCsv die Datentabelle in das CSV-Fodermat.
Die Aufschlüsselung des Prozesses:
-
Erstellung einer Datentabelle : 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 Zeilen zur Tabelle
DataTablemithilfe der MethodeRows.Add()hinzu. Jede Zeile stellt einen Datensatz für den CSV-Expodert dar. -
Arbeitsmappengenerierung : 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 die
DataTableZeilen und oderdnet jeden Wert einer bestimmten Zelle im Arbeitsblatt mithilfe der Zellbezugssyntax zu (z. B. "A1", "A2"). - CSV-Expodert : Die Methode
SaveAsCsv()kümmert sich um die Komplexität der CSV-Fodermatierung, einschließlich der koderrekten Maskierung von Sonderzeichen und der Behandlung von Trennzeichen.
Was ist mit erweiterten DataTable-Szenarien?
Für komplexe 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?
Auch bei der Verarbeitung großer DataTables mit Tausenden von Zeilen behält IronXL eine hervoderragende Leistung bei. 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
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.

