using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
In diesem Artikel wird untersucht, wie man einen C# CSV Reader mit der IronXL Bibliothek 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. IronXL wurde speziell für .NET entwickelt und legt den Schwerpunkt auf Geschwindigkeit, Genauigkeit und Benutzerfreundlichkeit. Es ermöglicht das Speichern von Excel-Dateien in verschiedenen Formaten und das Laden verschiedener Tabellenformate in Excel für eine effiziente Datenauswertung.
IronXL unterstützt Excel-Arbeitsmappenformate mit verschiedenen Dateierweiterungen, darunter CSV und TSV, XLS und XLSX, XSLT und XLSM. Es ist sowohl mit der neuesten Version des .NET-Frameworks als auch mit allen früheren Versionen bis 2.0 kompatibel. 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 Tools:
Visual Studio: ist eine unverzichtbare 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. Andere IDEs, die eine C#-Umgebung unterstützen, können jedoch auch verwendet werden, wenn der Entwickler dies wünscht.
Konsolen-App erstellen: Folgen Sie den Schritten, um eine einfache Konsolenanwendung zu erstellen.
Öffnen Sie Visual Studio und klicken Sie auf "Ein Projekt erstellen".
Neues Projektfenster
Wählen Sie "Console App" aus der Liste der verfügbaren Optionen. Stellen Sie sicher, dass die ausgewählte Sprache C# ist.
Erstellen Sie eine neue Konsolenanwendung
Geben Sie Ihrem Projekt einen Namen Ihrer Wahl.
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 mögliche Fehler zu vermeiden, können Sie sich jedoch für die stabilere Version von .NET 6.0 entscheiden, da Microsoft dafür langfristigen Support bietet. Es ist wichtig, dass Sie die richtige Version für Ihre spezifischen Anforderungen wählen.
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 können. Sie können das Paket aus verschiedenen Quellen herunterladen und installieren:
NuGet - der Paketmanager für .NET. Sie können IronXL direkt von der NuGet-Website herunterladen.
Visual Studio NuGet-Paket-Manager: Öffnen Sie den Paket-Manager, indem Sie zu Extras > NuGet-Paket-Manager > Pakete für die Lösung verwalten... gehen.
Laden Sie die IronXL .NET Excel DLL Zip-Datei direkt von der Iron-Website herunter und fügen Sie sie der Projektlösung als Projektverweis hinzu.
IronXL Namespace hinzufügen
Sobald Sie die Voraussetzungen erfüllt haben, ist der nächste Schritt, den IronXL-Namespace oben im Quellcode der Datei main.cs hinzuzufügen:
using IronXL;
using IronXL;
Imports IronXL
$vbLabelText $csharpLabel
Vorhandene CSV-Datei öffnen
IronXL bietet eine einfache Möglichkeit, CSV-Dateien in C# zu lesen. Öffnen Sie zunächst eine CSV-Datei zum Lesen. Es handelt sich um einen Dateityp, der auf Zeilen und Spalten basiert. Hier wird die WorkBook-Klasse zusammen mit ihrer LoadCSV-Methode verwendet, um eine CSV-Datei zu öffnen. Der Code ist wie folgt:
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
$vbLabelText $csharpLabel
Die LoadCSV-Methode in IronXL ermöglicht Ihnen, eine CSV-Datei zu öffnen und sie in das XLSX-Format zu konvertieren. Diese Methode bietet Optionen zur Angabe des in der CSV-Datei verwendeten Listentrennzeichens. In diesem Beispiel wird das Standardtrennzeichen, ein Komma, verwendet. Die resultierende Datei wird geöffnet und kann mit den Funktionen von IronXL zum Lesen und Bearbeiten von Excel-Tabellen weiterverarbeitet werden.
CSV-Datei
Arbeitsblatt aus CSV-Reader-Klasse abrufen
Im vorherigen Schritt wurde die CSV-Datei mit IronXL als Excel-Arbeitsmappe geöffnet. Jetzt holen Sie sich das Standardarbeitsblatt aus der Arbeitsmappe mit der WorkSheet-Klasse. Das folgende Beispiel zeigt, wie man das Arbeitsblatt zum Lesen von CSV-Daten abruft:
WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
$vbLabelText $csharpLabel
Weitere Informationen zur Arbeit mit Excel-Arbeitsblättern finden Sie auf dieser Seite mit Codebeispielen.
CSV-Daten lesen mit C# DataTable
Sobald die CSV-Datei erfolgreich geladen wurde und die Daten als Arbeitsblatt zur Verfügung stehen, können die Daten sehr einfach aus der CSV-Datei in eine C#-Datentabelle eingelesen werden.
Arbeitsblatt in DataTable konvertieren
Zuerst erstellen Sie eine DataTable-Instanz und konvertieren die Arbeitsblattdaten in eine Tabelle mit der ToDataTable-Methode. Der folgende Code hilft, diese Aufgabe zu erfüllen:
DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
$vbLabelText $csharpLabel
Lesen von CSV-Daten beginnen
Nun iterieren Sie durch alle Datensätze mithilfe der DataTable-Instanz. Die Daten werden in Zeilen und Spalten empfangen. Gehen Sie zunächst durch die einzelnen Spalten, um deren Wert zu ermitteln. Um alle Datensätze zusammen mit der Kopfzeile zu erhalten, verwenden Sie das folgende Codeschnipsel:
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] + " "); //format output
}
Console.WriteLine();
}
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] + " "); //format output
}
Console.WriteLine();
}
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) & " ") 'format output
Next i
Console.WriteLine()
Next row
$vbLabelText $csharpLabel
Im obigen Code wird eine foreach-Schleife verwendet, um einen einzelnen Datensatz aus einer Sammlung von Zeilen zu erhalten. 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. Die Ausgabe wird ähnlich wie eine CSV-Datei formatiert.
Ausgabe
Zusammenfassung
In diesem Artikel wurde gezeigt, wie man einen CSV-Leser in C# mit der IronXL-Bibliothek erstellt. Das Laden von CSV-Dateien ist mit IronXL ein Kinderspiel, 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 mit der Originaldatei übereinstimmt.
IronXL bietet auch eine bequeme Konvertierung zwischen verschiedenen Dateiformaten und ermöglicht das Erstellen von Excel-Dateien von Grund auf, ohne dass Interop und Microsoft Excel installiert sein müssen. Es ist auch kompatibel mit C# DataSet und DataTable, was Entwicklern Flexibilität beim Umwandeln von Daten bietet, ohne auf Drittanwendungen angewiesen zu sein. Mit seinen leistungsstarken Funktionen ist IronXL ein wertvolles Werkzeug für C#-Entwickler, um mit Excel-Tabellen zu arbeiten und CSV-Daten effizient zu verarbeiten.
IronXL ist für Entwickler kostenlos. Für die kommerzielle Nutzung müssen Sie jedoch eine Lizenz erwerben, die ab $749 erhältlich ist. Sie können auch die kostenlose Testversion nutzen, um die Kompatibilität der kompilierten .dll mit Ihrem Projekt im Produktionsmodus zu testen.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS Konvertieren von Datensätzen in Excel in C#
NÄCHSTES > Abrufen von Zellwerten aus einer Excel-Datei in C#