Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man eine CSV-Datei in C# liest

Dieser Artikel untersucht, wie man mit der IronXL-Bibliothek einen C#-CSV-Reader erstellt.

IronXL - Excel-Bibliothek

IronXL ist eine leistungsstarke Excel-Bibliothek, die C#-Entwicklern die Möglichkeit bietet, Excel-Tabellen in verschiedenen Formaten zu erstellen, zu laden, zu lesen und zu bearbeiten. Speziell für .NET entwickelt, legt IronXL Wert auf Geschwindigkeit, Genauigkeit und Benutzerfreundlichkeit. It allows for saving Excel files in different formats and loading various spreadsheet formats into Excel for efficient data reading.

IronXL unterstützt Excel-Arbeitsmappenformate mit verschiedenen Dateierweiterungen, einschließlich CSV und TSV, XLS und XLSX, XSLT und XLSM. Es ist kompatibel mit der neuesten Version des .NET Frameworks sowie allen vorherigen Versionen bis einschließlich 2.0. IronXL kann auf verschiedenen Plattformen verwendet werden, darunter Linux, MacOS, Azure, Docker und AWS.

Wie erstellt man einen CSV Reader in C# mit IronXL?

Voraussetzungen

Um Daten aus einer CSV-Datei in eine Excel-Datei zu konvertieren und sie in C# zu lesen, benötigen wir die folgenden Werkzeuge:

  1. Visual Studio: ist eine wesentliche integrierte Entwicklungsumgebung (IDE) für die Arbeit an C# .NET-Anwendungen. Es ist die offizielle und empfohlene IDE für die Entwicklung von C#-Apps und kann von der Microsoft-Website heruntergeladen und installiert werden. Allerdings können auch andere IDEs verwendet werden, die eine C#-Umgebung unterstützen, wenn der Entwickler es bevorzugt.
  2. Erstellen Sie eine Konsolen-App: Folgen Sie den Schritten, um eine einfache Konsolenanwendung zu erstellen.

    • Öffnen Sie Visual Studio und klicken Sie auf "Projekt erstellen".

      Wie man CSV-Dateien in C# liest, Abbildung 2: Neues Projektfenster Neues Projektfenster

    • Wählen Sie "Konsolen-App" aus der Liste der verfügbaren Optionen. Stellen Sie sicher, dass die ausgewählte Sprache C# ist.

      Wie man CSV-Dateien in C# liest, Abbildung 3: Erstellen Sie eine neue Konsolen-App Erstellen Sie eine neue Konsolen-App

    • Benennen Sie als Nächstes Ihr Projekt nach Belieben.

      Wie man CSV-Dateien in C# liest, Abbildung 4: Konfiguration Konfiguration

    • Der nächste Schritt in der Projektkonfiguration ist die Auswahl des .NET Frameworks. Die neueste verfügbare Version ist .NET 7.0, die im Standardzeitraum unterstützt wird. Um jedoch potenzielle Fehler zu vermeiden, können Sie sich für die stabilere Version von .NET 6.0 entscheiden, da Microsoft dafür langfristigen Support bietet. Es ist wichtig, die geeignete Version basierend auf Ihren spezifischen Anforderungen zu wählen.
  3. IronXL - Es ist die .NET Excel-Bibliothek, die entwickelt wurde, um mit Excel-Tabellen zu arbeiten. Es muss in Ihrer C#-Anwendung installiert werden, bevor Sie es verwenden. Sie können das Paket aus verschiedenen Quellen herunterladen und installieren:
    1. NuGet - der Paketmanager für .NET. Sie können IronXL direkt von der NuGet-Website herunterladen.
    2. Visual Studio NuGet-Paket-Manager: Öffnen Sie den Paketmanager, indem Sie zu Tools > NuGet-Paket-Manager > Pakete für die Lösung verwalten... gehen.
    3. Laden Sie die IronXL .NET Excel DLL Zip-Datei direkt von der Iron-Website herunter und fügen Sie sie als Projektreferenz zur Projektlösung hinzu.

Fügen Sie den IronXL-Namespace hinzu

Sobald Sie die Voraussetzungen haben, ist der nächste Schritt, den IronXL-Namespace oben im Quellcode in die main.cs-Datei hinzuzufügen:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Eine bestehende CSV-Datei öffnen

IronXL bietet eine einfache Möglichkeit, CSV-Dateien in C# zu lesen. Öffnen Sie zuerst eine CSV-Datei zum Lesen. Es handelt sich um einen Dateityp, der auf Zeilen und Spalten basiert. Here, the WorkBook class is used along with its LoadCSV method to open a CSV file. The code is as follows:

// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
' Load the CSV file and convert it to XLSX format.
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
$vbLabelText   $csharpLabel

Die LoadCSV-Methode in IronXL ermöglicht es, eine CSV-Datei zu öffnen und in das XLSX-Format zu konvertieren. Diese Methode bietet Möglichkeiten, das im CSV-File verwendete Listen-Trennzeichen anzugeben. In diesem Beispiel wird das Standard-Trennzeichen, das ein Komma ist, verwendet. Die resultierende Datei wird geöffnet und kann mit den Funktionen von IronXL zur Lesen und Bearbeitung von Excel-Tabellen weiterverarbeitet werden.

Wie man CSV-Dateien in C# liest, Abbildung 5: CSV-Datei CSV-Datei

Arbeitsblatt aus der CSV Reader Klasse erhalten

Im vorherigen Schritt wurde die CSV-Datei als Excel-Arbeitsmappe mit IronXL geöffnet. Nun erhalten Sie das Standard-Arbeitsblatt aus der Arbeitsmappe mit der WorkSheet-Klasse. Das folgende Beispiel zeigt, wie man das Arbeitsblatt zum Lesen von CSV-Daten erhält:

// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
' Retrieve the default worksheet from the loaded workbook.
Dim ws As WorkSheet = csv.DefaultWorkSheet
$vbLabelText   $csharpLabel

Für weitere Informationen zum Arbeiten mit Excel-Arbeitsblättern können Sie diese Code-Beispiel-Seite besuchen.

CSV-Daten mit C#-DataTable lesen

Sobald das CSV erfolgreich geladen ist und die Daten als Arbeitsblatt verfügbar sind, können die Daten sehr einfach aus der CSV-Datei in eine C#-DataTable gelesen werden.

Arbeitsblatt in DataTable konvertieren

Erstellen Sie zunächst eine DataTable-Instanz und wandeln Sie die Arbeitsblattdaten mit der ToDataTable-Methode in eine Tabelle um. Der folgende Code hilft, diese Aufgabe zu erreichen:

// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
' Convert the worksheet data to a DataTable.
Dim dt As DataTable = ws.ToDataTable(True)
$vbLabelText   $csharpLabel

CSV-Daten lesen starten

Jetzt durchlaufen Sie alle Datensätze mit der DataTable-Instanz. Die Daten werden in Zeilen und Spalten empfangen. Zuerst bewegen Sie sich durch jede Spalte, um ihren Wert zu erhalten. Um alle Datensätze zusammen mit der Kopfzeile zu erhalten, verwenden Sie den folgenden Code-Snippet:

// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
' Iterate over each row in the DataTable.
For Each row As DataRow In dt.Rows
	' Iterate over each column in the current row.
	For i As Integer = 0 To dt.Columns.Count - 1
		' Print each column value in the current row.
		Console.Write(row(i) & "  ")
	Next i
	' Move to the next line after printing all columns of the current row.
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

Im obigen Code wird eine foreach-Schleife verwendet, um einen einzelnen Datensatz aus einer Sammlung von Zeilen zu holen. Dann wird in einer verschachtelten For-Schleife die Anzahl der Spalten gezählt und schließlich werden die Daten aus jeder Zeile auf dem Bildschirm ausgegeben. Das Ergebnis wird ähnlich wie eine CSV-Datei formatiert.

Wie man CSV-Dateien in C# liest, Abbildung 6: Ausgabe Ausgabe

Zusammenfassung

Dieser Artikel zeigte, wie man mit der IronXL-Bibliothek einen CSV-Leser in C# erstellt. Das Laden von CSV-Dateien wird mit IronXL erleichtert, da es das CSV-Format in Excel-Tabellen unterstützt. Das DataTable-Objekt wird verwendet, um einen eleganten CSV-Reader zu erstellen und die Ausgabe so zu formatieren, dass sie der Originaldatei entspricht.

IronXL bietet auch bequeme Konvertierung zwischen verschiedenen Dateiformaten und ermöglicht das Erstellen von Excel-Dateien von Grund auf neu, ohne dass Interop und Microsoft Excel installiert sein müssen. Es ist auch kompatibel mit C# DataSet und DataTable, was Entwicklern Flexibilität beim Konvertieren von Daten bietet, ohne auf Drittanbieteranwendungen angewiesen zu sein. Mit seinen leistungsstarken Funktionen ist IronXL ein wertvolles Werkzeug für C#-Entwickler zum Arbeiten mit Excel-Tabellen und zum effizienten Umgang mit CSV-Daten.

IronXL ist kostenlos für die Entwicklung. Für den kommerziellen Gebrauch müssen Sie jedoch eine Lizenz erwerben, beginnend ab $799. Sie können auch den kostenlosen Test verwenden, um die Kompatibilität seines kompilierten .dll mit Ihrem Projekt im Produktionsmodus zu testen.

Häufig gestellte Fragen

Wie erstellt man einen CSV-Reader in C# ohne Verwendung von Interop?

Sie können einen CSV-Reader in C# ohne Verwendung von Interop erstellen, indem Sie die IronXL-Bibliothek nutzen. Installieren Sie zunächst IronXL über NuGet oder laden Sie die .NET Excel DLL von der IronXL-Website herunter. Fügen Sie den IronXL-Namespace zu Ihrem Code hinzu und verwenden Sie die WorkBook.LoadCSV-Methode, um eine CSV-Datei zu laden, was Ihnen erlaubt, sie als Excel-Arbeitsbuch zu bearbeiten.

Was sind die Vorteile der Verwendung von IronXL für CSV-Operationen in C#?

IronXL bietet eine leistungsstarke und flexible Lösung für die Handhabung von CSV-Operationen in C#. Es ermöglicht Entwicklern, CSV-Dateien zu laden, zu lesen und in das Excel-Format zu konvertieren, ohne dass Microsoft Excel oder Interop erforderlich sind, wodurch es mit verschiedenen Plattformen wie Linux, MacOS und Cloud-Diensten wie Azure und AWS kompatibel ist.

Wie kann man CSV-Daten mit IronXL in das Excel-Format konvertieren?

Um CSV-Daten mit IronXL in das Excel-Format zu konvertieren, laden Sie die CSV-Datei mit der WorkBook.LoadCSV-Methode und speichern Sie sie dann mit der WorkBook.SaveAs-Methode, indem Sie das gewünschte Excel-Format wie XLSX angeben.

Ist es möglich, CSV-Daten in eine DataTable in C# mit IronXL zu lesen?

Ja, Sie können CSV-Daten in eine DataTable in C# mit IronXL lesen. Laden Sie die CSV als Arbeitsbuch, greifen Sie auf das Standardarbeitsblatt zu und konvertieren Sie die Arbeitsblattdaten mit der Range.ToDataTable-Methode in eine DataTable, um sie einfach zu manipulieren und zu iterieren.

Mit welchen Plattformen ist die IronXL-Bibliothek kompatibel?

Die IronXL-Bibliothek ist mit mehreren Plattformen kompatibel, darunter Windows, Linux, MacOS, Azure, Docker und AWS. Diese plattformübergreifende Unterstützung macht sie zu einer vielseitigen Wahl für Entwickler, die in unterschiedlichen Umgebungen arbeiten.

Kann IronXL für kommerzielle Projekte verwendet werden?

Ja, IronXL kann für kommerzielle Projekte verwendet werden. Während es eine kostenlose Testversion für die Entwicklung und das Testen bietet, ist für die Produktion eine kommerzielle Lizenz erforderlich. Diese Lizenz bietet Zugang zu allen Funktionen und Unterstützung.

Wie verbessert IronXL die Manipulation von CSV-Daten in C#-Anwendungen?

IronXL verbessert die Manipulation von CSV-Daten in C#-Anwendungen, indem es Entwicklern ermöglicht, CSV-Dateien zu laden und zu bearbeiten, ohne dass Microsoft Excel notwendig ist. Es bietet Methoden zur Konvertierung zwischen CSV- und Excel-Formaten, wodurch die Datenhandhabung flexibler und effizienter wird.

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