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 Methode `LoadCSV`, um eine CSV-Datei zu lesen
- Abfangen des Ladens einer nicht existierenden Datei mit der Methode `Exists` 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 "NuGet Pakete verwalten" und suchen Sie nach IronXL.Excel. Anschließend können Sie es installieren.
Installieren Sie das IronXL-Paket im NuGet-Paket-Manager
IronXL ist ein großartiges Werkzeug, wenn Sie CSV-Dateien lesen in C# 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
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
Das Objekt WorkBook wurde erstellt. Anschließend wird die LoadCSV- Methode des WorkBook-Objekts verwendet, um den Namen der CSV-Datei, ihr Format und die in der zu lesenden CSV-Datei verwendeten Trennzeichen anzugeben, die als String-Array gespeichert werden. In diesem Szenario werden Kommas als Trennzeichen verwendet.
Anschließend wird ein WorkSheet- Objekt 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
Bei CSV-Dateien gibt es mehrere Probleme mit der Handhabung von Zeilenumbrüchen in Feldern und damit, wie Felder in Anführungszeichen eingeschlossen werden können, was eine einfache String-Split-Technik unbrauchbar macht Split("'"). Stattdessen bietet IronXL die Möglichkeit, das Trennzeichen mithilfe eines optionalen Parameters der Methode LoadCSV anzupassen. Weitere Informationen finden Sie in der API-Dokumentation von LoadCSV .
C# Records — Reading CSV Data
Im folgenden Beispiel wird die foreach Schleife verwendet, um die Zeilen in der CSV-Datei zu durchlaufen, und die Konsole wird verwendet, um die Daten in einen 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
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
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-Arbeitsblatt 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
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
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
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 cell
Das 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();
' 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.
Die Lizenzen beginnen bei $799 und beinhalten ein Jahr kostenlosen Support und Updates.
IronPDF, IronXL, IronOCR, IronBarcode und der IronWebScraper sind alle Teil der 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.
Häufig gestellte Fragen
Wie kann ich eine CSV-Datei in C# lesen?
Sie können eine CSV-Datei in C# mit der IronXL-Bibliothek lesen, indem Sie die LoadCSV-Methode verwenden, mit der Sie die CSV-Daten in ein WorkBook-Objekt laden können, um sie weiter zu bearbeiten.
Was ist der beste Weg, um CSV-Daten in ein Excel-Format in C# zu konvertieren?
Der beste Weg, CSV-Daten in ein Excel-Format in C# zu konvertieren, ist die Verwendung von IronXL. Laden Sie Ihre CSV in ein WorkBook-Objekt und verwenden Sie die SaveAs-Methode, um sie als Excel-Datei zu speichern.
Wie gehe ich mit CSV-Dateien mit benutzerdefinierten Trennzeichen in C# mithilfe einer Bibliothek um?
Mit IronXL können Sie CSV-Dateien mit benutzerdefinierten Trennzeichen verarbeiten, indem Sie das Trennzeichen als optionalen Parameter in der LoadCSV-Methode angeben.
Kann ich CSV-Daten direkt in ein Datenbankformat in C# konvertieren?
Ja, Sie können CSV-Daten in ein Datenbankformat in C# umwandeln, indem Sie die ToDataTable-Methode von IronXL verwenden, die die Daten in ein für Datenbankoperationen geeignetes DataTable-Objekt umwandelt.
Welche Methoden sind verfügbar, um nicht existierende CSV-Dateien in C# zu überprüfen?
In C# können Sie die Exists-Methode von IronXL verwenden, um zu überprüfen, ob eine CSV-Datei vorhanden ist, bevor Sie versuchen, sie zu laden, und so Fehler im Zusammenhang mit nicht existierenden Dateien vermeiden.
Wie kann ich Excel-Daten nach der Umwandlung von CSV in C# manipulieren?
Nach der Umwandlung von CSV in Excel in C# können Sie die Daten mithilfe der Funktionen von IronXL wie Formatierung, Zusammenführen von Zellen, Einfügen von mathematischen Funktionen und Hinzufügen von Diagrammen oder Bildern manipulieren.
Welche Vorteile bietet IronXL beim Lesen und Umwandeln von CSV-Dateien in C#?
IronXL bietet Vorteile wie einfache Installation, keine Notwendigkeit zusätzlicher Interop, Unterstützung für benutzerdefinierte Trennzeichen und leistungsstarke Methoden zur Umwandlung und Bearbeitung von CSV-Daten innerhalb von Excel.
Wie können Sonderzeichen in CSV-Daten in C# behandelt werden?
IronXL kann Sonderzeichen in CSV-Daten verarbeiten, indem Sie beim Laden der CSV-Datei die Dateicodierung und Trennzeichen angeben, um Datenintegrität und Genauigkeit sicherzustellen.
Welche Unterstützung steht IronXL-Benutzern zur Verfügung?
IronXL-Lizenzen beinhalten ein Jahr kostenlose Unterstützung und Updates, die Unterstützung bieten und sicherstellen, dass Sie die neuesten Funktionen und Korrekturen haben.




