IRONXL VERWENDEN

CSV-Datei mit C# lesen (Codebeispiel-Tutorial)

Aktualisiert 29. Januar 2024
Teilen Sie:

Dieses Tutorial demonstriert, wie man eine CSV-Datei mit der IronXL C#-Bibliothek ohne zusätzliche Interop-Installation auf höchst effiziente und effektive Weise lesen kann.

Wie man CSV-Dateien in C# liest;

Sie müssen IronXL zunächst installieren, bevor Sie es zum Lesen von CSV-Dateien in MVC, ASP.NET oder .NET Core verwenden können. Im Folgenden finden Sie einen Überblick über das Verfahren.

Wählen Sie in Visual Studio das Menü "Projekt", "NuGet-Pakete verwalten" und suchen Sie nach "IronXL.Excel", und installieren Sie es.

CSV-Datei mit C# lesen (Codebeispiel-Tutorial), Abbildung 1: Installieren Sie das IronXL-Paket im NuGet-Paketmanager

Installieren Sie das IronXL-Paket im NuGet Package Manager

IronXL ist ein großartiges Werkzeug, wenn Sie Folgendes benötigen cSV-Dateien lesen in C#. Das folgende Codebeispiel zeigt, dass Sie eine CSV-Datei mit Kommas oder einem anderen Trennzeichen lesen können.

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
VB   C#

Lesen von CSV-Dateien mit C# (Codebeispiel-Tutorial), Abbildung 2: CSV-Daten für dieses Tutorial

CSV-Daten für dieses Lernprogramm

Das Objekt arbeitsbuch erstellt wird. Das Objekt WorkBook ist LoadCSV methode wird dann verwendet, um den Namen der CSV-Datei, ihr Format und die in der gelesenen CSV-Datei verwendeten Trennzeichen anzugeben, die als String-Array gespeichert werden. In diesem Szenario werden Kommas als Begrenzungszeichen verwendet.

Danach wird ein arbeitsblatt objekt erstellt wird; hier wird der Inhalt der CSV-Datei gespeichert. Die Datei wird dann umbenannt und in einem neuen Format gespeichert. Die Daten der CSV-Datei werden dann im Arbeitsblatt in tabellarischer Form angeordnet. Die Ausgabe sieht dann etwa so aus:

Lesen von CSV-Dateien mit C# (Code-Beispiel-Tutorial), Abbildung 3: Daten in Excel-Datei konvertiert

Daten in Excel-Datei konvertiert

CSV-Parsing in C#; .NET

Bei CSV-Dateien gibt es mehrere Probleme mit der Behandlung von Zeilenumbrüchen in Feldern und mit der Einschließung von Feldern in Anführungszeichen, wodurch eine einfache Technik zum Aufteilen von Zeichenketten nicht funktioniert Split("'"). Stattdessen bietet IronXL die Möglichkeit, das Trennzeichen mit Hilfe eines optionalen Parameters der Methode LoadCSV anzupassen, siehe die API-Dokumentation von loadCSV für weitere Einzelheiten.

C# Datensätze - Lesen von CSV-Daten

Im nachstehenden Beispiel werden die Zeilen in der CSV-Datei in einer Schleife durchlaufen, und die Konsole wird verwendet, um die Daten in einen Datensatz zu schreiben.

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ")
	Next i
	Console.WriteLine()
Next row
VB   C#

Lesen einer CSV-Datei mit C# (Codebeispiel-Tutorial), Abbildung 4: Zugriff auf Daten aus einer CSV-Datei und Anzeige in der Konsole

Zugriff auf Daten aus einer CSV-Datei und Anzeige in der Konsole

Konvertieren einer CSV-Dateizeile in das Excel-Format

Das Verfahren ist einfach: Laden einer CSV-Datei und Speichern als Excel-Datei.

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

Lesen und Manipulieren konvertierter CSV-Dateien mit IronXL

Die IronXL-Klasse WorkBook stellt ein Excel-Blatt dar 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
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

workSheet"-Objekte können in zahlreichen WorkBooks zu finden sein. Dies sind die Arbeitsblätter des Excel-Dokuments. Wenn die Arbeitsmappe Arbeitsblätter enthält, können Sie diese wie folgt nach ihrem Namen suchen:

//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

Code zum Lesen der Zellwerte:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

Das folgende Codebeispiel kann Formeln aktualisieren oder nach dem Laden und Lesen der Arbeitsmappe und des Arbeitsblatts auf bestimmte Zellen anwenden. Der Code lautet wie folgt:

// Set Formulas
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
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
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()
VB   C#

Fazit und IronXL-Sonderangebot

IronXL wandelt CSV-Dateien mit nur zwei Codezeilen in Excel um, zusätzlich zur CSV-Verarbeitung in C#.

Ohne Interop ist die Verwendung der Excel-API von IronXL ein Kinderspiel. Darüber hinaus bietet IronXL eine breite Palette von Funktionen zur Interaktion mit Excel WorkBook, WorkSheet und Cells Ebene wie konvertierung zwischen gängigen Formaten, zelldatenformatierung, zellen zusammenführen, einfügen von mathematischen Funktionenund sogar die Verwaltung von Karten und bilder hinzufügen.

Sie können ohne Wasserzeichen starten mit IronXL-Testlizenzschlüssel.

Lizenzen beginnen bei $749 und beinhalten ein Jahr kostenlosen Support und Updates.

IronPDF, IronXL, IronOCR, IronBarcode und der IronWebscraper sind alle Teil von die Iron Software Suite. Iron Software bietet Ihnen die Möglichkeit, ihr gesamtes Paket zu einem reduzierten Preis zu erwerben. Sie können all diese Tools zum Preis von zwei nutzen.

Diese Option ist auf jeden Fall eine Überlegung wert.

< PREVIOUS
Wie man einen CSV-Parser in C# verwendet
NÄCHSTES >
C# Excel-Datei programmatisch öffnen (Code-Beispiel-Tutorial)

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

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >