IRONXL VERWENDEN

Konvertieren von Datensätzen in C# in CSV

Aktualisiert 20. Februar 2024
Teilen Sie:

Im folgenden Artikel wird gezeigt, wie man einen C#-Datensatz in eine CSV-Datei konvertiert.

IronXL ist eine großartige Lösung für die Arbeit mit Tabellenkalkulationen, ob im CSV-Format oder in Excel-Dateien. IronXL ist kostenlos für die Entwicklung, einfach zu bedienen und bietet umfangreiche Funktionen für die Arbeit mit jeder Art von Tabellenkalkulation. Es ist sicher und bietet eine hohe Leistung. Bevor wir fortfahren, wollen wir IronXL kurz vorstellen.

IronXL

IronXL ist einIron Software bibliothek, die es C#-Entwicklern ermöglicht, Excel zu lesen, zu erzeugen und zu bearbeiten(und andere Tabellenkalkulationsdateien) in .NET-Anwendungen und Websites.

IronXL ist ein schneller und einfacher Weg, um 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 Interopm benötigt wird. IronXL erfordert auch keine Installation von Microsoft Office oder andere Abhängigkeiten.

Beginnen wir mit dem Erstellen und Schreiben des Codes für die Erstellung einer CSV-Datei für einen Datensatz.

Erstellen Sie ein neues Visual Studio-Projekt

Öffnen Sie die Visual Studio IDE; die neueste Version von Visual Studio wird empfohlen, aber Sie können jede beliebige Version verwenden. Bitte beachten Sie, dass die Schritte zur Erstellung eines neuen Projekts von Version zu Version unterschiedlich sein können.

Konvertieren von Datensätzen in C# in CSV, Abbildung 1: Das Startfenster von Visual Studio

Startfenster von Visual Studio

Klicken Sie auf Neues Projekt erstellen. Es erscheint ein neues Fenster (siehe unten).

Konvertieren von Datensätzen in C# in CSV, Abbildung 2: Erstellen eines neuen Projekts in Visual Studio

Erstellen Sie ein neues Projekt in Visual Studio

Wählen Sie Ihre bevorzugte Projektvorlage aus der Liste aus. Klicken Sie auf die Schaltfläche Weiter. Daraufhin wird ein neues Fenster angezeigt (siehe unten).

How to Convert Dataset to CSV 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 und klicken Sie auf die Schaltfläche Weiter. Es erscheint ein neues Fenster (siehe unten).

How to Convert Dataset to CSV in C#, Abbildung 4: Wählen Sie eine .NET-Framework-Version

Wählen Sie eine .NET-Framework-Version

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

Konvertieren von Datensätzen in C# in CSV, Abbildung 5: eine neue Konsolenanwendung in Visual Studio

eine neue Konsolenanwendung in Visual Studio

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

IronXL installieren

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

Install-Package IronXL.Excel

DieNuGet-Paket wird wie unten gezeigt installiert und ist sofort einsatzbereit.

How to Convert Dataset to CSV in C#, Abbildung 6: Die Installation des IronXL-Pakets und seine Paketabhängigkeiten

Die Installation des IronXL-Pakets und seiner Abhängigkeiten

Lassen Sie uns nun etwas Code schreiben, um einen Datensatz in eine CSV-Datei in C# zu konvertieren.

In diesem Beispiel werden Daten aus einer SQL-Server-Datenbank eingefügt. Nachdem wir den Datensatz aus der SQL-DB erhalten haben, erstellen wir eine CSV-Datei mit diesen Eingabedaten.

Erstellen Sie die Datentabelle

Der erste Schritt ist das Auffüllen von Daten aus SQL, aber Sie können jede beliebige Datenquelle verwenden.

In diesem Lehrgang werden die folgenden Daten verwendet:

How to Convert Dataset to CSV in C#, Abbildung 7: Erstellen einer neuen 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.

public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    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++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    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++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
Public Shared Function getData() As DataTable
	Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
	Dim query As String = "select * from STUDENT_DATA"
	Try
		Dim conn As New SqlConnection(connString)
		Dim cmd As New SqlCommand(query, conn)
		conn.Open()
		' create data adapter
		Dim da As New SqlDataAdapter(cmd)
		' this will query your database and return the result to your datatable
		Dim dt As New DataTable()
		da.Fill(dt)
		da.Dispose()
		Return dt
	Catch e1 As Exception
		Throw
	End Try
End Function

Shared Sub Main(ByVal args() As String)
	Dim table As DataTable = getData()
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	wb.Metadata.Author = "JOHN"
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	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
	wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
VB   C#

Code Erläuterung

Die Methode getData() Daten aus einer SQL Server-Datenbank abrufen, wie bereits erwähnt.

In der Hauptfunktion wird einearbeitsbuch mit IronXL und erstellen Sie dann einearbeitsblatt.

In einer "for"-Schleife werden die Daten in die Zeilen des angegebenen Arbeitsblatts eingefügt.

Danach speichern Sie diese Datei als CSV-Datei mit dem BefehlspeichernAlsCsv funktion von IronXL.

Ausgabe

Die von diesem Programm erzeugte CSV-Datei sieht wie folgt aus:

Konvertieren von Datensätzen in C# in CSV, Abbildung 8: Die CSV-Ausgabedatei

Die CSV-Ausgabedatei

Es ist klar, dass die CSV-Datei ordnungsgemäß erstellt wird und mit den Eingaben übereinstimmt.

Zusammenfassung

In diesem Artikel wurde gezeigt, wie man in C# eine CSV-Datei aus einem Datensatz erstellt. Die Bibliothek kann auchcSV-Dateien mit C# lesen. Der Datensatz aus einer SQL Server-Datenbank wird in drei Schritten aufgefüllt und eine CSV-Datei erstellt:

  1. Daten von SQL Server abrufen.

  2. Daten in eine Datentabelle einfügen.

  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 gezeigt. 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 Bearbeiten von Excel-Dateien. Weitere Einzelheiten finden Sie auf der Websiteoffizielle Dokumentation.

    Darüber hinaus bietet IronPDF Entwicklern Methoden, umpDF-Dokumente in Bilder umwandeln undtext und Inhalt extrahieren aus einer PDF-Datei. Darüber hinaus kann IronPDF auchrendering-Diagramme in PDFs,hinzufügen von Barcodes, erhöhung der Sicherheit durch Passwörter programmatisch.

    Die kostenlose Version von IronXL wird für Entwicklungszwecke verwendet. Um eine Anwendung in der Produktion einzusetzen, benötigen Sie einekostenloser Test version oder einehandelslizenz. IronXL ist Teil vonEisenSuitedie aus fünf Bibliotheken besteht:

  4. IronXLdie heute erforscht wird.

  5. IronPDF zum Erzeugen, Lesen und Verarbeiten von PDF-Dateien

  6. IronOCR für die Arbeit bei der Extraktion von Text aus Bildern

  7. IronBarcode zum Lesen und Erzeugen von Barcodes

  8. IronWebScraper zur Extraktion von Strukturdaten aus Websites.

    Sie erhalten alle diese Produkte zum Preis von zwei, wenn Sie sie zusammen kaufen.

< PREVIOUS
Wie importiere ich eine Excel-Datei in C#?
NÄCHSTES >
Wie man in VB.NET in eine Excel-Datei schreibt

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,132,445 Lizenzen anzeigen >