Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Dataset in CSV in C# konvertiert

Der folgende Artikel zeigt, wie man ein C#-Dataset in eine CSV-Datei umwandeln kann.

IronXL ist eine großartige Lösung für die Arbeit mit Tabellenkalkulationen, egal ob im CSV-Format oder Excel-Dateien. IronXL ist kostenlos für die Entwicklung, einfach zu bedienen und bietet umfangreiche Funktionen zur Arbeit mit jeder Art von Tabellenkalkulation. Es ist sicher und bietet hohe Leistung. Bevor wir fortfahren, lassen Sie uns eine kurze Einführung in IronXL geben.

IronXL

IronXL ist eine Iron Software-Bibliothek, die es C#-Entwicklern ermöglicht, Excel (und andere Tabellenkalkulationsdateien) in .NET-Anwendungen und -Websites zu lesen, zu erstellen und zu bearbeiten.

IronXL ist eine schnelle und einfache Möglichkeit, mit Excel und anderen Tabellenkalkulationsdateien in C# und .NET zu arbeiten. IronXL funktioniert gut mit .NET Framework, .NET Core und Azure, ohne dass Office Excel Interop benötigt wird. IronXL erfordert auch nicht die Installation von Microsoft Office oder andere ähnliche Abhängigkeiten.

Lassen Sie uns mit der Erstellung und dem Schreiben des Codes für die Erstellung einer CSV-Datei für ein Dataset beginnen.

Ein neues Visual Studio-Projekt erstellen

Öffnen Sie die Visual Studio-IDE; Die neueste Version von Visual Studio wird empfohlen, aber Sie können jede beliebige Version nach Ihren Vorlieben verwenden. Bitte beachten Sie, dass sich die Schritte für die Erstellung eines neuen Projekts von Version zu Version unterscheiden können.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 1: Startfenster von Visual Studio Startfenster von Visual Studio

Klicken Sie auf Neues Projekt erstellen. Ein neues Fenster wird wie unten dargestellt erscheinen.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 2: Erstellen Sie ein neues Projekt in Visual Studio Erstellen Sie ein neues Projekt in Visual Studio

Wählen Sie Ihre bevorzugte Projektschablone aus der Liste aus. Klicken Sie auf die Weiter-Schaltfläche, und es erscheint ein neues Fenster, wie unten gezeigt.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 3: Konfigurieren Sie das neu erstellte Projekt Konfigurieren Sie das neu erstellte Projekt

Benennen Sie Ihr Projekt, wählen Sie den Speicherort aus und drücken Sie die Weiter-Taste. Ein neues Fenster wird wie unten dargestellt erscheinen.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 4: Wählen Sie eine .NET Framework-Version Wählen Sie eine .NET Framework-Version

Wählen Sie das Ziel .NET Framework. Sie können jedes .NET Framework auswählen, das Ihren Anforderungen entspricht, da IronXL jedes .NET Framework unterstützt. In diesem Tutorial wird .NET 7 verwendet. Klicken Sie auf die Erstellen-Schaltfläche, und ein neues Projekt wird erstellt, wie unten gezeigt.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 5: Eine neue Konsolenanwendung in Visual Studio Eine neue Konsolenanwendung in Visual Studio

Installieren Sie jetzt das IronXL NuGet-Paket, um es in dieser Anwendung zu verwenden.

IronXL installieren

Öffnen Sie die NuGet-Paket-Manager-Konsole und geben Sie den folgenden Befehl ein.

Install-Package IronXL.Excel

Das NuGet-Paket wird installiert und ist wie folgt einsatzbereit.

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 6: Die Installation des IronXL-Pakets und seiner Paketabhängigkeiten Die Installation des IronXL-Pakets und seiner Paketabhängigkeiten

Schreiben wir nun etwas Code, um ein Dataset in eine CSV-Datei in C# umzuwandeln.

Dieses Beispiel wird Daten aus einer SQL-Server-Datenbank abrufen. Nach dem Abrufen des Datasets aus der SQL-Datenbank werden wir mit diesen Eingabedaten eine CSV-Datei erstellen.

Die Datentabelle erstellen

Der erste Schritt ist das Abrufen von Daten aus SQL, aber Sie können jede beliebige Datenquelle verwenden, die Sie bevorzugen.

Dieses Tutorial verwendet die folgenden Daten:

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 7: Erstellen Sie eine neue Datenbank mit Beispieldaten Erstellen Sie eine neue Datenbank mit Beispieldaten

Hier ist das SQL-Skript zur Erstellung der Beispieldaten:

USE Test_DB;

CREATE TABLE STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');

Der folgende C#-Code wird verwendet, um die Datentabelle in eine CSV-Datei zu exportieren.

using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}
using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports IronXL

Friend Class Program
	' Method to retrieve data from SQL database and return as DataTable
	Public Shared Function GetData() As DataTable
		' Define connection string (modify accordingly for your local server)
		Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
		Dim query As String = "SELECT * FROM STUDENT_DATA"

		Try
			' Create SQL connection
			Using conn As New SqlConnection(connString)
				' Create SQL command
				Dim cmd As New SqlCommand(query, conn)
				conn.Open()
				' Create data adapter
				Using da As New SqlDataAdapter(cmd)
					' Query the database and return the result to a data table
					Dim dt As New DataTable()
					da.Fill(dt)
					Return dt
				End Using
			End Using
		Catch ex As Exception
			Console.WriteLine($"An error occurred: {ex.Message}")
			Throw
		End Try
	End Function

	Shared Sub Main(ByVal args() As String)
		' Retrieve data and store it in a DataTable
		Dim table As DataTable = GetData()

		' Create a new Workbook
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		wb.Metadata.Author = "JOHN"

		' Use the default worksheet
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable
		For Each row As DataRow In table.Rows
			ws($"A{rowCount}").Value = row(0).ToString()
			ws($"B{rowCount}").Value = row(1).ToString()
			ws($"C{rowCount}").Value = row(2).ToString()
			ws($"D{rowCount}").Value = row(3).ToString()
			ws($"E{rowCount}").Value = row(4).ToString()
			rowCount += 1
		Next row

		' Save the workbook as a CSV file
		wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

Code-Erklärung

  • Die Methode GetData() ruft Daten von einer SQL-Server-Datenbank ab und gibt sie als DataTable zurück.

  • In der Main-Methode wird mithilfe von IronXL ein WorkBook erstellt, und die Daten werden dann in ein WorkSheet übertragen.

  • Eine foreach-Schleife durchläuft die Zeilen der DataTable und fügt jeden Wert in eine neue Zeile im WorkSheet ein.

  • Schließlich wird die CSV-Datei mit der von IronXL bereitgestellten SaveAsCsv-Funktion gespeichert.

Ausgabe

Die von diesem Programm generierte CSV-Datei sieht folgendermaßen aus:

Wie konvertiert man ein Dataset in eine CSV-Datei in C#, Abbildung 8: Die CSV-Ausgabedatei Die CSV-Ausgabedatei

Es ist klar, dass die CSV-Datei ordnungsgemäß generiert wurde und den bereitgestellten Eingaben entspricht.

Zusammenfassung

Dieser Artikel zeigte, wie man eine CSV-Datei in C# aus einem Dataset erstellt. Die Bibliothek kann auch CSV-Dateien mit C# lesen. Das Dataset aus einer SQL-Server-Datenbank wird abgerufen und erzeugt eine CSV-Datei in drei Schritten:

  1. Abrufen von Daten aus SQL Server.
  2. Übertragen der Daten in eine Datentabelle.
  3. Erstellen Sie eine CSV-Datei aus dieser Datentabelle.

Es ist sehr einfach, eine CSV-Datei in .NET 7 mit IronXL zu erstellen, wie oben demonstriert. Die Leistung des Programms ist außergewöhnlich, da es in .NET 7 mit IronXL geschrieben ist. IronXL bietet weitere nützliche Funktionen wie das Erstellen, Lesen und Verarbeiten von Excel-Dateien. Für weitere Details besuchen Sie bitte die offizielle Dokumentation.

Additionally, IronPDF offers developers methods to render PDF documents into images and extract text and content from a PDF. Additionally, IronPDF is also capable of rendering charts in PDFs, adding barcodes, enhancing security with passwords programmatically.

Die kostenlose Version von IronXL wird für Entwicklungszwecke verwendet. To deploy an application in production, please obtain a free trial version or a commercial license. IronXL ist Teil der Iron Suite, die aus fünf Bibliotheken besteht:

  1. IronXL, das heute gezeigt wird.
  2. IronPDF zur Erzeugung, zum Lesen und Bearbeiten von PDF-Dateien
  3. IronOCR zum Arbeiten mit Extraktion von Texten aus Bildern
  4. IronBarcode zum Lesen und Erzeugen von Barcodes
  5. IronWebScraper zum Extrahieren von strukturierten Daten aus Websites.

Sie können alle diese Produkte zum Preis von zwei erwerben, wenn sie zusammen gekauft werden.

Häufig gestellte Fragen

Wie kann ich ein C#-Dataset in eine CSV-Datei konvertieren?

Sie können ein C#-Dataset in eine CSV-Datei konvertieren, indem Sie IronXL verwenden. Zuerst die Daten aus einer Quelle, wie z. B. einer SQL Server-Datenbank, abrufen und in eine Datentabelle einfüllen. Anschließend mit IronXL die Datentabelle in eine CSV-Datei exportieren.

Benötige ich Microsoft Office, um mit Excel-Dateien in .NET zu arbeiten?

Nein, Sie benötigen Microsoft Office nicht, um mit Excel-Dateien in .NET zu arbeiten, wenn Sie IronXL verwenden. IronXL arbeitet unabhängig, ohne Office- oder Interop-Abhängigkeiten.

Was ist der beste Weg, um IronXL zur Handhabung von Tabellenkalkulationen in .NET zu installieren?

Der beste Weg, um IronXL zur Handhabung von Tabellenkalkulationen zu installieren, ist über die NuGet-Paket-Manager-Konsole in Visual Studio. Verwenden Sie den Befehl: Install-Package IronXL.Excel.

Wie verbessert IronXL die Produktivität bei der Arbeit mit Tabellenkalkulationen?

IronXL verbessert die Produktivität, indem es Entwicklern ermöglicht, schnell und einfach Excel- und CSV-Dateien innerhalb von .NET-Anwendungen zu lesen, zu erstellen und zu bearbeiten, ohne zusätzliche Softwareinstallationen oder Abhängigkeiten zu benötigen.

Kann ich IronXL verwenden, um CSV-Dateien aus beliebigen Datenquellen zu generieren?

Ja, Sie können IronXL verwenden, um CSV-Dateien aus beliebigen Datenquellen zu generieren. Der Artikel demonstriert dies, indem eine SQL Server-Datenbank verwendet wird, um eine Datentabelle zu füllen, die dann mit IronXL in CSV exportiert wird.

Ist IronXL mit den neuesten .NET-Versionen kompatibel?

Ja, IronXL ist mit den neuesten .NET-Versionen, einschließlich .NET 7, kompatibel und bietet auf diesen Plattformen verbesserte Leistungsmerkmale.

Was sind die Hauptvorteile der Verwendung von IronXL für Tabellenkalkulationsaufgaben?

Hauptvorteile der Verwendung von IronXL sind seine Fähigkeit, Tabellenkalkulationen ohne Microsoft Office zu handhaben, seine Unterstützung für alle .NET-Versionen und seine Einfachheit bei der effizienten Konvertierung von Datensätzen in CSV-Dateien.

Was ist die Iron Suite und was beinhaltet sie?

Die Iron Suite ist eine Sammlung von Bibliotheken, die IronXL für Excel-Dateien, IronPDF für PDFs, IronOCR für Texterkennung aus Bildern, IronBarcode für Barcodes und IronWebScraper für Web-Datenextraktion umfasst.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen