C# CSV-Parser (Schritt-für-Schritt-Tutorial)
IronXL ermöglicht das Parsen und Konvertieren von CSV-Dateien in/aus Excel-Formaten in C# mit nur zwei Codezeilen. Dieses Tutorial zeigt, wie man XLSX-, XLS- und TSV-Dateien mithilfe der einfachen API der IronXL Bibliothek in das CSV-Format konvertiert, wodurch die Notwendigkeit komplexer manueller Parsing-Codes entfällt. Die Bibliothek kümmert sich intern um alle komplexen Details der Dateiformatkonvertierung und ist damit perfekt für Entwickler geeignet, die eine schnelle und zuverlässige CSV-Analyse benötigen, ohne umfangreichen Code schreiben zu müssen.
Haben Sie jemals in .NET CSV-Dateien analysiert und in XLSX-Dateien oder XLSX-Dateien in CSV-Dateien konvertiert, um eine wichtige Aufgabe zu lösen, und konnten nicht herausfinden, wie das ohne Unmengen an Code möglich ist?
Viele CSV-Bibliotheken existieren, um dieses Problem zu lösen. In diesem Tutorial wird jedoch die IronXL C# Excel-Bibliothek verwendet, um diese Aufgaben mit nur zwei Codezeilen zu erledigen. Im Gegensatz zu herkömmlichen Ansätzen, die ein manuelles Parsen von Trennzeichen und die Behandlung von Sonderfällen erfordern, bietet IronXL eine robuste, getestete Lösung, die auf verschiedenen Plattformen wie Windows, Linux und macOS funktioniert .
Für den Anfang benötigen Sie lediglich Visual Studio. Befolgen Sie die nachstehenden Anweisungen für eine detaillierte Installationsanleitung. Dieses Tutorial richtet sich an Entwickler mit grundlegenden C#-Kenntnissen, die mit Excel-Dateien ohne Interop-Abhängigkeiten arbeiten möchten.
Wie erstelle ich ein neues Projekt in Visual Studio?
Öffnen Sie den Visual Studio-Editor.
Gehen Sie zum Datei-Menü in Visual Studio. Wählen Sie "Neues Projekt" und dann Konsolenanwendung. Dadurch entsteht eine einfache Projektstruktur, die sich perfekt eignet, um zu lernen, wie man Excel-Dateien erstellt und bearbeitet .
Geben Sie den Projektnamen ein und wählen Sie den Projektstandort. Klicken Sie anschließend auf die Schaltfläche "Erstellen ", um das Projekt zu erstellen. Wählen Sie das erforderliche .NET Framework aus, wie im folgenden Screenshot gezeigt:
Abbildung 1: Konfigurieren Sie Ihr neues C#-Konsolenanwendungsprojekt in Visual Studio mit .NET Framework 4.7.2
Die Datei program.cs wird sich öffnen, sodass Sie die Logik eingeben und die Anwendung erstellen/ausführen können. Hier fügen wir unseren CSV-Parsing-Code mithilfe der unkomplizierten API von IronXL hinzu.
Wie installiere ich die IronXL C#-Bibliothek?
Die IronXL-Bibliothek kann auf viele verschiedene Arten heruntergeladen und installiert werden. Heute konzentrieren wir uns auf zwei Methoden, die in der Professional Weiterbildung am häufigsten Anwendung finden:
- Verwenden des Visual Studio NuGet-Paketmanagers
- Verwenden der Visual Studio-Befehlszeile
Beide Methoden sind gleichermaßen effektiv, Ihre Wahl hängt davon ab, ob Sie eine grafische Benutzeroberfläche oder Kommandozeilen-Tools bevorzugen. Detaillierte Installationshinweise für verschiedene Umgebungen finden Sie in der offiziellen Dokumentation .
Sollte ich den Visual Studio NuGet Paketmanager verwenden?
Die NuGet Package Manager UI ist in Visual Studio verfügbar, um das Paket direkt in das Projekt zu installieren. Diese Methode ist besonders nützlich für Entwickler, die visuelle Oberflächen bevorzugen und sich vor der Installation über die Paketdetails informieren möchten. Der folgende Screenshot zeigt, wie man es öffnet.
Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution
Die Benutzeroberfläche des Paketmanagers bietet eine Suchfunktion, die eine Liste der auf der NuGet Website verfügbaren Paketbibliotheken anzeigt. Geben Sie "IronXL" ein, wie im Screenshot unten gezeigt, um das IronXL -Paket zu finden. Sie können auch die verwandten Excel-Bearbeitungsfunktionen von IronXL erkunden.
Der NuGet Paketmanager in Visual Studio zeigt die IronXL.Excel-Bibliothek an, mit der Entwickler Excel-Dateien in .NET Anwendungen lesen, generieren und bearbeiten können. Das Paket wird mit 250.000 Downloads und der Version 2022.9.9454 zur Installation bereit angezeigt.
Wählen Sie das Paket IronXL.Excel aus und klicken Sie auf die Schaltfläche "Installieren" , um es dem Projekt hinzuzufügen. Der Installationsprozess kümmert sich automatisch um alle Abhängigkeiten und konfiguriert Ihr Projekt für die Bearbeitung von Excel-Dateien .
Wann sollte ich die Visual Studio-Befehlszeile verwenden?
Gehen Sie im Visual Studio-Menü zu Extras > NuGet-Paket-Manager > klicken Sie auf Paket-Manager-Konsole. Diese Methode wird von Entwicklern bevorzugt, die mit Kommandozeilenschnittstellen vertraut sind oder den Installationsprozess in Build-Skripten automatisieren müssen.
Öffnen der NuGet Paket-Manager-Konsole in Visual Studio zum Installieren von CSV-Parsing-Bibliotheken
Die Paket-Manager-Konsole wird am unteren Bildschirmrand angezeigt. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste. IronXL wird installiert. Diese Methode ist besonders nützlich, wenn Sie bestimmte Versionen installieren müssen oder mit Bereitstellungsskripten für Azure- oder AWS-Umgebungen arbeiten.
Install-Package IronXL.Excel
Die Paket-Manager-Konsole zeigt die erfolgreiche Installation von IronXL.Excel Version 2022.11.10251 an und visualisiert den Wiederherstellungsprozess des Pakets sowie die Download-Bestätigungen aus dem NuGet Repository.
Wie parse ich CSV-Dateien mit IronXL?
Hier ist ein Beispiel für Code, um dies zu erreichen. Diese Einfachheit ist besonders wertvoll, wenn Sie schnell zwischen verschiedenen Tabellenformaten konvertieren müssen.
Die Verwendung von herkömmlichem C#-Code zum Parsen von CSV-formatierten Dateien erfordert eine Menge umfangreichen Codes. Hier ist ein Codebeispiel, um dies mit einem traditionellen Ansatz zu erreichen:
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Module Program
Sub Main(args As String())
' Create a FileHelperEngine for the Record class
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
' Read records from the CSV file into an array
' Note: This requires proper error handling for production use
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
' Print each record's Name and Age
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next
End Sub
End Module
End Namespace
Mit IronXL lässt sich dies jedoch mit nur wenigen Codezeilen erreichen, inklusive integrierter Fehlerbehandlung und Unterstützung für verschiedene Dateiformate.
Mit IronXL können Sie CSV-Dateien aus XLSX-, XLS-, TSV-Dateien und weiteren Formaten parsen. Die Bibliothek unterstützt auch das Lesen von Excel-Dateien in ASP.NET -Anwendungen und Blazor Anwendungen . In diesem Tutorial werden wir die folgenden Konvertierungen untersuchen:
- CSV-Datei aus XLSX-Datei parsen
- CSV-Datei aus XLS-Datei parsen
- CSV-Datei aus TSV-Datei parsen
Wie konvertiere ich eine XLSX-Datei in eine CSV-Datei?
Öffnen Sie Microsoft Excel und erstellen Sie eine neue XLSX-Datei. Füllen Sie die Zeilen und Spalten mit einigen Beispieldaten. Für Produktionsszenarien empfiehlt es sich, Excel-Dateien programmatisch mit IronXL zu erstellen. Das untenstehende Bild zeigt die Datei, die für alle Konvertierungen in diesem Tutorial verwendet wurde.
Abbildung 6: Beispielhafte Excel-Daten, die eine grundlegende Inventarstruktur zeigen, die zur Demonstration des CSV-Parsings in C# verwendet wird
CSV-Dateien können in jedem Editor gelesen werden. Das folgende Bild zeigt die Ausgabe der generierten CSV-Daten. IronXL übernimmt die gesamte komplexe Datenanalyse intern, einschließlich der korrekten Behandlung von Sonderzeichen und Datentypen:
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLSX file into a WorkBook object
' The Load method automatically detects the file format
Dim wb As WorkBook = WorkBook.Load("test.xlsx")
' Save the WorkBook as a CSV file
' This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv")
' Optional: Save with custom delimiter
' wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";")
End Sub
End Class
Nach Abschluss der Ausführung wird eine neue Datei mit dem Namen Parsed CSV.csv erstellt. Sie können CSV-Dateien mit jedem beliebigen Editor oder Reader öffnen. Sie können die CSV-Daten auch wieder in Excel importieren, um sie weiter zu bearbeiten. Das Bild unten zeigt die Ausgabe des obigen Befehls – unsere generierten CSV-Daten. In der Ausgabedatei stehen doppelte Anführungszeichen für fett gedruckte Werte.
Abbildung 7: Die mit der Methode SaveAsCsv generierte CSV-Ausgabe zeigt die konvertierten Excel-Daten im kommagetrennten Format an.
Wie konvertiert man XLS-Dateien in CSV?
In diesem Beispiel zeigen wir Ihnen, wie Sie XLS-Dateien in das CSV-Format konvertieren. Der Vorgang ist identisch mit der XLSX-Konvertierung und demonstriert damit die Vielseitigkeit von IronXL im Umgang mit verschiedenen Excel-Dateiformaten .
Erstellen wir ein XLS-Beispiel, das wir in CSV konvertieren. Beachten Sie, dass XLS ein älteres Excel-Format ist, IronXL es aber nahtlos neben modernen Formaten verarbeitet:
Abbildung 8: Eine Beispiel-Excel-Datei, die die Datenstruktur einer Inventarliste mit automatischen Berechnungen veranschaulicht und mithilfe von C#-CSV-Bibliotheken analysiert werden kann.
Als Nächstes führen wir den unten stehenden Codeblock aus, um die Beispiel-XLS-Datei in eine CSV-Datei zu konvertieren. IronXL erhält die Datenintegrität während der Konvertierung, einschließlich Formeln und Berechnungen .
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLS file into a WorkBook object
' IronXL automatically handles the older XLS format
Dim wb As WorkBook = WorkBook.Load("XLS.xls")
' Save the WorkBook as a CSV file
' All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv")
' Optional: Export specific worksheet
' Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' ws.SaveAsCsv("Example2.csv")
End Sub
End Class
Nachdem der obige Code ausgeführt wurde, erhalten Sie eine neu generierte CSV-Datei. In komplexeren Szenarien empfiehlt es sich, vor dem Export bestimmte Bereiche auszuwählen oder die Daten zu sortieren.
Beispiel einer CSV-Datei, geöffnet in WordPad, die korrekt formatierte, kommagetrennte Daten mit Überschriften und mehreren Produkteinträgen zeigt.
Wie kann ich CSV-Dateien aus dem TSV-Format parsen?
Tabellenkalkulationsprogramme verwenden häufig TSV-Dateien (Tab-Separated Values), um Daten zwischen Datenbanken zu übertragen. Es speichert eine Datentabelle, in der die Datenspalten durch Tabulatoren getrennt sind und jeder Datensatz in einer eigenen Zeile steht. TSV-Dateien sind besonders nützlich, wenn Ihre Daten Kommas enthalten, die beim Parsen von CSV-Dateien Probleme verursachen könnten.
IronXL bietet einen CSV-Parser, um CSV-Dateien aus TSV-Format für eine bessere Datenverwaltung zu analysieren. Der Konvertierungsprozess ist unkompliziert und gewährleistet die Datenintegrität durchgehend.
Unten ist die Ausgabe im CSV-Format. Zuerst erstellen wir eine TSV-Datei mit den Schülerdaten:
Beispiel für tabulatorgetrennte Schülerdaten in Microsoft Word. Die Struktur einer TSV-Datei mit Spalten für NAME, E-MAIL, R-NO und Note wird dargestellt.
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the TSV file into a WorkBook object
' IronXL automatically detects tab-separated format
Dim wb As WorkBook = WorkBook.Load("TSV.tsv")
' Save the WorkBook as a CSV file
' Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv")
' Alternative: Load with explicit delimiter specification
' Dim wb As WorkBook = WorkBook.LoadCSV("TSV.tsv", delimiter:=vbTab)
End Sub
End Class
Unten sehen Sie die Ausgabe im CSV-Format. Beachten Sie, wie IronXL die tabulatorgetrennten Werte korrekt in kommagetrennte Werte umgewandelt hat, wobei die Datenstruktur erhalten blieb:
Beispiel einer CSV-Datei, geöffnet in WordPad, die Schülerdatensätze mit Feldern für Name, E-Mail-Adresse, Matrikelnummer und Note (durch Kommas getrennt) anzeigt.
Was sind die wichtigsten Vorteile der Verwendung von IronXL für die CSV-Analyse?
Dieses Tutorial demonstriert die Verwendung von IronXL zum Parsen verschiedener Dateiformate in CSV in C#. Die Bibliothek bietet eine einheitliche API für alle Dateiformate, wodurch die Arbeit mit verschiedenen Excel-Versionen und -Formaten ohne Änderung der Codestruktur problemlos möglich ist.
Darüber hinaus bietet die IronXL -Bibliothek folgende Funktionen, die sie zu einer ausgezeichneten Wahl für die Excel-Bearbeitung machen:
- Ein breites Spektrum an Funktionen, darunter Datenmanipulation und Datenexport in verschiedene Formate wie JSON, XML und HTML.
- Unterstützung für die Diagrammverwaltung, die vollständig mit Excel kompatibel ist und die programmatische Erstellung und Änderung von Diagrammen ermöglicht.
- Unterstützung für die Zellformatierung, z. B. Textausrichtung, Schriftgröße, Farbe , Rahmen und Hintergrundmuster .
- Möglichkeit zur individuellen Anpassung von Excel-Methoden, einschließlich Fixieren von Bereichen , Hinzufügen von Formeln , bedingter Formatierung und Zusammenführen von Zellen .
- Kompatibel mit Excel- Verschlüsselung mit Passwortschutz für Arbeitsmappen und einzelne Arbeitsblätter.
- Unterstützung für benannte Bereiche und benannte Tabellen zur besseren Datenorganisation.
- Erweiterte Funktionen wie automatische Zeilen- und Spaltengrößenanpassung , Hyperlinks und Kommentare .
IronXL zeichnet sich auch durch seine hervorragende Leistungsoptimierung aus. Dank der jüngsten Leistungsverbesserungen verarbeitet die Bibliothek Dateien jetzt 40-mal schneller und benötigt dabei deutlich weniger Speicherplatz, wodurch sie sich für umfangreiche Datenverarbeitungsaufgaben eignet. Die Bibliothek funktioniert nahtlos in Docker-Containern , auf Linux-Systemen und in macOS-Umgebungen und bietet somit echte plattformübergreifende Kompatibilität.
Für Enterprise bietet IronXL robuste Sicherheitsfunktionen und entspricht den Branchenstandards. Die Bibliothek unterstützt sowohl VB .NET als auch C# und ist somit vielseitig für verschiedene Entwicklungsteams einsetzbar. Bei der Arbeit mit großen Dateien sollten Sie die Dateigrößenbeschränkungen und die verfügbaren Optimierungsstrategien beachten.
Weitere Informationen zur Funktionsweise von IronXL finden Sie in den Features , Codebeispielen und der Dokumentation von IronXL . Sie können spezifische Anwendungsfälle erkunden, wie beispielsweise die Arbeit mit .NET MAUI für die mobile Entwicklung oder die Integration mit DataTables für Datenbankoperationen. Laden Sie IronXL herunter und testen Sie es 30 Tage lang kostenlos mit einem Testlizenzschlüssel. Für den Produktiveinsatz benötigen Sie einen Lizenzschlüssel , der in Ihrer web.config-Datei für Webanwendungen konfiguriert werden kann. Weitere Informationen zu den Lizenzbedingungen, einschließlich Optionen für Lizenzerweiterungen und -upgrades , finden Sie auf der Lizenzseite .
Erwerben Sie die komplette Iron Suite und erhalten Sie Lizenzen für alle fünf Iron Software Bibliotheken zum Preis von zwei IronXL -Bibliothekslizenzen!
Vielen Dank fürs Lesen!
Häufig gestellte Fragen
Wie kann ich CSV-Dateien in C# ohne Verwendung von Interop parsen?
IronXL ermöglicht das Parsen von CSV-Dateien in C# ohne Interop. Sie können eine CSV-Datei in ein WorkBook-Objekt laden und direkt manipulieren, es in andere Formate wie XLSX oder XLS umwandeln mit nur wenigen Codezeilen.
Welche Schritte sind erforderlich, um die IronXL-Bibliothek in Visual Studio zu installieren?
Um die IronXL-Bibliothek in Visual Studio zu installieren, öffnen Sie die NuGet-Paketmanager-Benutzeroberfläche, suchen Sie nach 'IronXL' und installieren Sie es. Alternativ können Sie die Kommandozeile von Visual Studio verwenden und den Befehl Install-Package IronXL.Excel in der Paketmanager-Konsole ausführen.
Wie kann ich CSV-Dateien in Excel-Formate in C# konvertieren?
Mit IronXL können Sie CSV-Dateien in Excel-Formate wie XLSX oder XLS konvertieren, indem Sie die CSV in ein WorkBook-Objekt laden und mit Methoden wie SaveAsXlsx im gewünschten Format speichern.
Ist es möglich, TSV-Dateien zu parsen und in CSV in C# zu konvertieren?
Ja, IronXL ermöglicht das Parsen von TSV-Dateien. Laden Sie die TSV-Datei in ein WorkBook-Objekt und verwenden Sie die Methode SaveAsCsv, um sie in eine CSV-Datei zu konvertieren.
Welche Funktionen bietet eine C# Excel-Bibliothek zur Datenmanipulation?
IronXL bietet Funktionen wie Datenmanipulation, Diagrammverwaltung, Zellformatierung und Kompatibilität mit Excel-Verschlüsselung. Es unterstützt Vorgänge wie das Einfrieren von Fensterbereichen, Formeln und bedingte Formatierung.
Wie kann ich Excel-Tabellenformate programmatisch in C# verwalten?
IronXL ermöglicht die Verwaltung verschiedener Tabellenformate wie XLSX, XLS und CSV. Es bietet Methoden zum Konvertieren zwischen diesen Formaten und zur effizienten Datenverarbeitung innerhalb von .NET-Anwendungen.
Kann ich eine Excel-Bibliothek für C# ausprobieren, bevor ich sie kaufe?
Ja, IronXL bietet eine kostenlose 30-Tage-Testversion zum Download von der NuGet-Website an. So können Sie die Funktionen testen und sicherstellen, dass sie Ihren Anforderungen entsprechen, bevor Sie einen Kauf tätigen.
Welche Vorteile bietet IronXL für das Parsen und Konvertieren von CSV-Dateien?
IronXL vereinfacht den Vorgang des Parsens und Konvertierens von CSV-Dateien mit minimalem Code. Es gewährleistet eine effiziente Datenverarbeitung und bietet umfangreiche Funktionen, die die Excel-Dateimanipulation in C#-Anwendungen verbessern.




