
Lesen Sie CSV-Dateien mit C# (Codebeispiel-Tutorial)
Dieses Tutorial demonstriert, wie man eine CSV-Datei mit der IronXL C#-Bibliothek liest, ohne zusätzliche Interop zu installieren, auf eine sehr effiziente und effektive Weise.
Lesen einer CSV-Datei Zeile für Zeile in C#
- Installation einer C#-Bibliothek zum zeilenweisen Lesen von CSV-Dateien
- Verwenden Sie die erweiterte
LoadCSV-Methode, um die CSV-Datei zu lesen. - Vermeiden Sie das Laden einer nicht existierenden Datei mit der
Exists-Methode in C# - Konvertieren von CSV-Daten in eine Datenbank mit der Methode
ToDataTable - Verwenden Sie die
SaveAs-Methode, um eine Excel-Datei zu exportieren, während CSV-Daten automatisch in Excel konvertiert werden
How to read CSV Files in C#
Sie müssen zunächst IronXL installieren, bevor Sie es verwenden, um CSV-Dateien in MVC, ASP.NET oder .NET Core zu lesen. Hier ist ein grundlegender Überblick über den Prozess.
Wählen Sie im Menü Projekt in Visual Studio das Verwalten von NuGet-Paketen aus, suchen Sie nach IronXL.Excel und installieren Sie es.
Installieren Sie das IronXL-Paket im NuGet-Paket-Manager
IronXL ist ein großartiges Werkzeug, wenn Sie CSV-Dateien in C# lesen müssen. Das untenstehende Codebeispiel zeigt, dass Sie eine CSV-Datei mit Kommas oder einem anderen Trennzeichen lesen können.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
CSV-Daten für dieses Tutorial
The object WorkBook is created. Die Methode LoadCSV des WorkBook-Objekts wird dann verwendet, um den Namen der CSV-Datei, ihr Format und die im CSV verwendeten Trennzeichen anzugeben, die als Zeichenfolgenarray gespeichert sind. In diesem Szenario werden Kommas als Trennzeichen verwendet.
Danach wird ein Objekt WorkSheet erstellt; dort werden die Inhalte der CSV-Datei gespeichert. Die Datei wird dann umbenannt und in einem neuen Format gespeichert. Die CSV-Dateidaten werden dann im Arbeitsblatt in tabellarischer Form angeordnet. Die Ausgabe wird in etwa wie folgt aussehen:
In Excel-Datei konvertierte Daten
CSV parsing in C# .NET
CSVs haben mehrere Probleme damit, wie Zeilenumbrüche in Feldern gehandhabt werden und wie Felder in Anführungszeichen gesetzt werden können, was verhindert, dass eine einfache String-Splitting-Technik funktioniert Split("'"). Stattdessen bietet IronXL die Möglichkeit, den Trennzeichen mit einem optionalen Parameter der Methode LoadCSV anzupassen. Überprüfen Sie die API-Dokumentation von LoadCSV für weitere Details.
C# Records — Reading CSV Data
Im folgenden Beispiel wird die foreach-Schleife verwendet, um über die Zeilen in der CSV-Datei zu iterieren, und die Konsole wird verwendet, um die Daten in einem Datensatz zu schreiben.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
Daten aus der CSV-Datei abrufen und in der Konsole anzeigen
Umwandeln einer CSV-Dateizeile in das Excel-Format
Das Verfahren ist einfach: eine CSV-Datei laden und als Excel-Datei speichern.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")Konvertierte CSV-Dateien mit IronXL lesen und bearbeiten
Die IronXL WorkBook-Klasse repräsentiert ein Excel-Blatt und verwendet diese Klasse, um eine Excel-Datei in C# zu öffnen. Die folgenden Codebeispiele laden die gewünschte Excel-Datei in ein WorkBook-Objekt:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")WorkSheet-Objekte können in zahlreichen Arbeitsmappen gefunden werden. Dies sind die Arbeitsblätter des Excel-Dokuments. Wenn das Arbeitsbuch Arbeitsblätter hat, können Sie diese folgendermaßen nach Namen abrufen:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")Code zum Lesen der Zellwerte:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cellDas folgende Codebeispiel kann Formeln aktualisieren oder sie auf bestimmte Zellen anwenden, nachdem das Arbeitsbuch und das Arbeitsblatt geladen und gelesen wurden. Der folgende Code lautet:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets
workbook.EvaluateAll()Fazit und IronXL Spezialangebot
IronXL wandelt CSVs mit nur zwei Codezeilen in Excel um, zusätzlich zur CSV-Verarbeitung in C#.
Ohne die Notwendigkeit von Interop ist die Verwendung von IronXLs Excel-API einfach. Des Weiteren bietet IronXL auch eine Vielzahl von Funktionen, um mit dem Excel WorkBook, WorkSheet und der Zellebene zu interagieren, wie z.B. das Konvertieren zwischen beliebten Formaten, Zellendatenformatierung, Zellenzusammenführung, Einfügen von mathematischen Funktionen und sogar das Verwalten von Diagrammen und Hinzufügen von Bildern.
Sie können ohne Wasserzeichen starten, indem Sie IronXL Testlizenzschlüssel verwenden.
Lizenzen beginnen bei $999 und beinhalten ein Jahr kostenlosen Support und Updates.
IronPDF, IronXL, IronOCR, IronBarcode, and the IronWebScraper are all part of the Iron Software suite. Iron Software ermöglicht den Kauf ihres gesamten Pakets zu einem reduzierten Preis. Sie können all diese Tools zum Preis von zwei nutzen.
Das ist definitiv eine Option, die es wert ist, erkundet zu werden.

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 Handbücher.
Verwandte Artikel



