Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie exportiert man eine `DataTable` in C# als CSV-Datei?

IronXL ermöglicht nahtlose DataTable zu CSV-Konvertierung in C# ohne die Notwendigkeit, Microsoft Excel zu installieren. Diese eigenständige .NET-Bibliothek bietet eine einfache API zur automatischen Konvertierung von DataTables in CSV-Dateien mit benutzerdefinierten Strukturen und Trennzeichen und macht den Datenexport für Entwickler einfach.

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 hängt nicht von Microsoft.Office.Interop.Excel ab und erfordert keine 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.

Der Dialog 'Neues Projekt erstellen' von Visual Studio zeigt verschiedene .NET-Projektvorlagen, darunter Konsolenanwendung, ASP.NET Core-Webanwendung und Blazor-Server-App-Optionen. Erstellen Sie ein neues Projekt in Visual Studio

Danach geben Sie den Namen und den Speicherort des Projekts ein.

Der Projektkonfigurationsdialog von Visual Studio zeigt die Einrichtung für eine neue C# Konsolenanwendung mit dem Projektnamen 'ConsoleApp1', Zielplattform Windows und Konsolenausgabe. Das neue Projekt konfigurieren

Wählen Sie als Nächstes die folgende Struktur aus. In diesem Projekt wird .NET Core 6 verwendet.

Der Dialog zur Projekterstellung von Visual Studio zeigt die Konfiguration der Konsolenanwendung mit .NET 6.0 (Langzeitunterstützung) als gewähltem Framework. Wählen Sie eine .NET Framework-Version

Die program.cs-Datei wird geöffnet, nachdem die Anwendung die Lösung generiert hat, damit Sie den Programmcode eingeben und die Anwendung erstellen/ausführen können.

Leeres C# Konsolenanwendungsfenster in Visual Studio, das das Projekt IronXLConsole mit der anfänglichen Code-Struktur für die Implementierung der CSV-Exportfunktionalität zeigt. 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.

Das erweiterte Menü 'Tools' von Visual Studio zeigt die Option 'NuGet Paket-Manager' und die hervorgehobene 'Package Manager Console' im Dropdown-Menü 'Tools'. Zu NuGet Package Manager navigieren

NuGet-Paket-Manager-Oberfläche zeigt das IronXL.Excel-Paket mit der Version 2022.3.0, 133K Downloads und dem Installationsbutton für eine einfache Integration. 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.

Package Manager Console in Visual Studio zeigt den Befehl '`Install-Package IronXL.Excel`' mit Bestätigungsmeldungen über die erfolgreiche Installation. 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 ein DataTable in eine CSV-Datei?

DataTables kann einfach und schnell in CSV-Dateien exportiert werden mit IronXL. 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.

C# Code-Editor zeigt 'using IronXL;' und 'using System.Data;' Namespace-Deklarationen mit Syntaxhervorhebung für die Implementierung des DataTable-Exporte in CSV. Fügen Sie allgemeine Namespaces hinzu

Excel-Dateien können mit IronXL erstellt werden, das sie dann in WorkBook-Objekte umwandelt. Anschließend werden verschiedene Operationen an diesen Objekten durchgeführt. Der folgende Beispielcode wird eine Excel-Datei erstellen, indem ein DataTable in ein Excel-Arbeitsblatt umgewandelt wird.

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
$vbLabelText   $csharpLabel

Der obige Code exportiert das DataTable in eine Excel-Datei. Spaltenüberschriften werden erstellt, sobald ein DataTable erstellt wird. Dann fügen Sie die Zeilen eine nach der anderen hinzu, nachdem Sie die erste Spalte erstellt haben. Das WorkBook-Objekt wird erstellt, nachdem die Spalten und Zeilen zum DataTable-Objekt hinzugefügt wurden, um diese Daten zu speichern. Das WorkSheet-Objekt wird dann konstruiert und dem WorkBook-Objekt hinzugefügt.

Jeder Wert aus dem DataTable wird gelesen und mit einer foreach-Schleife hinzugefügt, bevor der Wert zum WorkSheet hinzugefügt wird. Nachdem alle Werte dem Arbeitsblatt hinzugefügt wurden, speichert die SaveAsCsv-Methode sie in einer CSV-Datei. Sie können sowohl das Trennzeichen als auch den Speicherort der Datei 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 ein DataTable mit benutzerdefinierten Formatierungen und Kodierungen exportiert wird:

// 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
$vbLabelText   $csharpLabel

Dieser Ansatz gibt Ihnen mehr Kontrolle über den Exportprozess, da Sie Zelldatenformate festlegen und die Ausgabestruktur anpassen können.

Excel-Tabelle, die eine Liste von Früchten (Apfel, Orange, Erdbeere, Trauben, Wassermelone, Bananen, Zitronen) in Spalte A mit ordnungsgemäßer CSV-Formatierung und ohne zusätzliche Trennzeichen zeigt. 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:

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:

Der Startpreis von IronXL bei der Markteinführung beträgt $999. 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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an