Wie man eine CSV-Datei in C# in eine DataTable liest
Die Konvertierung von CSV-Dateien in DataTable in C# ist mit IronXL ganz einfach: Verwenden Sie WorkBook.LoadCSV(), um eine beliebige CSV-Datei zu lesen, und rufen Sie dann ToDataTable(true) auf, um eine strukturierte DataTable mit korrekten Spaltenüberschriften zu erstellen, die für den Datenbankimport oder die Datenmanipulation bereit ist.
Die Arbeit mit CSV-Dateien ist eine gängige Aufgabe für .NET Entwickler, egal ob es um den Import von Verkaufsberichten, die Bestandsverwaltung oder die Synchronisierung von Kundendatensätzen geht. Die Konvertierung einer CSV-Datei in ein DataTable macht es einfach, sie zu manipulieren, zu analysieren oder in eine Datenbanktabelle einzufügen. Die IronXL -Bibliothek bietet eine vollwertige Lösung für die Verarbeitung von Excel- und CSV-Operationen in C#-Anwendungen – eine Excel-Installation ist nicht erforderlich.
Das Einlesen von CSV-Dateien in C# kann knifflig sein. Große Dateien, unterschiedliche Trennzeichen oder eingebettete Kommas erfordern oft eine komplexe Parsing-Logik. IronXL vereinfacht dies: Mit nur wenigen Codezeilen können Sie CSV-Dateien aus einem beliebigen Dateipfad einlesen, sie in ein DataTable Format mit korrekten Spaltenüberschriften konvertieren und sie für umfangreiche Datenbankoperationen vorbereiten. Dieser Ansatz ist besonders nützlich bei der Arbeit mit Excel-Daten in C# .
In diesem Leitfaden erfahren Sie, wie Sie:
- Laden einer CSV-Datei in ein
DataTablein C# mit IronXL's CSV-Lesefunktionen - Unterschiedliche Trennzeichen wie Kommas, Tabulatoren oder Semikolons verarbeiten
- Importieren Sie Ihre
DataTabledirekt in SQL Server mit Hilfe der Exportfunktionalität - Große Datensätze zuverlässig verwalten, ohne auf Speicherprobleme zu stoßen
Am Ende dieses Kurses verfügen Sie über einen vollständigen, praktischen Workflow, um CSV-Daten mithilfe von IronXL in Ihren .NET 10-Anwendungen in verwertbare Informationen umzuwandeln.
Warum ist die Konvertierung von CSV in DataTable wichtig?
Mit der Konvertierung von CSV in DataTable können Entwickler kommagetrennte Werte in strukturierte Objekte für die weitere Verarbeitung umwandeln. Unabhängig davon, ob Sie Bestandsdaten, Kundendatensätze oder Transaktionsprotokolle verarbeiten, ist die effiziente Konvertierung von CSV in DataTable von entscheidender Bedeutung. Durch die Verwendung der ersten Zeile als Spaltenüberschriften können Sie sicherstellen, dass die DataTable-Spalten mit dem Schema Ihrer Datenbanktabelle übereinstimmen, was sie perfekt für Excel zu DataSet Operationen macht.
Traditionelle Ansätze kämpfen oft mit großen Dateien, unterschiedlichen Trennzeichen oder Speicherverwaltung. IronXL beseitigt diese Herausforderungen und verarbeitet verschiedene Trennzeichen, Felder in Anführungszeichen und eingebettete Kommas ohne zusätzlichen Code. Die CSV-Lesefunktionen von IronXL beseitigen häufige Probleme und bieten zusätzliche Funktionen wie Datenvalidierung und Dateigrößenkontrolle.
Wann sollten Sie DataTable gegenüber anderen Datenstrukturen bevorzugen?
DataTables funktionieren gut, wenn Sie datenbankähnliche Operationen im Speicher benötigen. Sie eignen sich ideal für Szenarien mit SQL Server-Importen, Datenbindung an UI-Steuerelemente oder wenn Sie LINQ-Abfragen auf strukturierten Daten durchführen müssen. Im Gegensatz zu einfachen Arrays oder Listen bieten DataTables Schemavalidierung, Beziehungen zwischen Tabellen und direkte Integration mit ADO.NET. Für komplexere Szenarien können Sie bei Bedarf auch zwischen DataSet und DataTable umwandeln.
Welche häufigen Probleme treten bei der herkömmlichen CSV-Analyse auf?
Die manuelle CSV-Analyse schlägt oft bei Sonderfällen fehl: eingebettete Kommas innerhalb von Anführungszeichen, Zeilenumbrüche in Zellenwerten oder inkonsistente Verwendung von Trennzeichen. Bei großen Dateien wird der Speicherverbrauch problematisch, wenn alles auf einmal in den Speicher geladen werden muss. Probleme bei der Zeichenkodierung können internationale Daten verfälschen, während die Typinferenz numerische Zeichenketten oft fälschlicherweise als Zahlen interpretiert. Aus diesen Gründen ist eine strukturierte Parsing-Bibliothek wie IronXL für Produktionsanwendungen unerlässlich geworden.
Wie lassen sich Speicherprobleme bei großen CSV-Dateien vermeiden?
IronXL verwendet gepufferte Lesetechniken, um große CSV-Dateien effizient zu verarbeiten. Anstatt ganze Dateien auf einmal in den Speicher zu laden, verarbeitet es die Daten in Blöcken, wodurch auch bei großen Dateien ein geringer Speicherbedarf gewährleistet wird. Dadurch eignet es sich für Serverumgebungen mit begrenzten Ressourcen – einschließlich Cloud-Bereitstellungen, bei denen die Speicherzuweisung eingeschränkt ist.
Wie installiert man IronXL?
Für den Einstieg in IronXL ist lediglich die Installation eines einfachen NuGet Pakets erforderlich. Öffnen Sie die NuGet Paketmanager-Konsole in Visual Studio und führen Sie aus:
Install-Package IronXL
Install-Package IronXL
Oder falls Sie die .NET Befehlszeilenschnittstelle bevorzugen:
dotnet add package IronXL
dotnet add package IronXL
Nach der Installation fügen Sie das IronXL-Namespace zu Ihrem Projekt hinzu:
using IronXL;
using System.Data;
using IronXL;
using System.Data;
Imports IronXL
Imports System.Data
Dies ermöglicht den Zugriff auf alle CSV-Verarbeitungsfunktionen ohne Abhängigkeit von Excel. Weitere Details finden Sie in der IronXL Dokumentation und im NuGet Installationsleitfaden .
Welche Systemvoraussetzungen gelten für IronXL?
IronXL unterstützt .NET Framework 4.6.2+ und .NET Core/5/6/7/8/9/10 und ist somit mit modernen und älteren Anwendungen kompatibel. Es läuft auf Windows-, Linux- und macOS-Plattformen. Für Umgebungen mit besonderen Anforderungen konsultieren Sie bitte die IronXL -Funktionsseite, um die Plattformunterstützung zu überprüfen. Vor dem Kauf steht eine Testlizenz zur Verfügung, mit der Sie den vollen Funktionsumfang testen können.
Wie lässt sich überprüfen, ob die Installation erfolgreich war?
Erstellen Sie ein Testprogramm, das eine CSV-Datei lädt, um die Installation zu überprüfen. Sollten Lizenzierungsmeldungen erscheinen, benötigen Sie einen Lizenzschlüssel . Überprüfen Sie die Paketverweise in Ihrer Projektdatei, um sicherzustellen, dass IronXL in der richtigen Version angezeigt wird. Führen Sie einen einfachen CSV-Lesevorgang durch – wenn dieser fehlerfrei abgeschlossen wird, funktioniert Ihre Installation ordnungsgemäß.
Wie konvertiert man eine CSV-Datei in DataTable?
Der Kern-Workflow in IronXL umfasst nur wenige Codezeilen. Im Folgenden wird beschrieben, wie man eine CSV-Datei liest und sie mit Hilfe von Top-Level-Anweisungen in C# 10+ in eine DataTable-Datei konvertiert:
using IronXL;
using System.Data;
// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
fileFormat: ExcelFileFormat.XLSX);
// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);
// Display the data
foreach (DataRow row in dataTable.Rows)
{
foreach (var item in row.ItemArray)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
}
using IronXL;
using System.Data;
// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
fileFormat: ExcelFileFormat.XLSX);
// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);
// Display the data
foreach (DataRow row in dataTable.Rows)
{
foreach (var item in row.ItemArray)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
}
Imports IronXL
Imports System.Data
' Load CSV file into a WorkBook object
Dim workbook As WorkBook = WorkBook.LoadCSV("sales_data.csv", fileFormat:=ExcelFileFormat.XLSX)
' Access the default worksheet
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Convert to DataTable with headers
Dim dataTable As DataTable = worksheet.ToDataTable(True)
' Display the data
For Each row As DataRow In dataTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}" & vbTab)
Next
Console.WriteLine()
Next
Die LoadCSV-Methode parst Ihre CSV-Datei automatisch und behandelt dabei Felder mit Anführungszeichen und eingebetteten Kommas. Der Parameter fileFormat teilt IronXL mit, wie die CSV-Daten intern zu interpretieren sind, um sicherzustellen, dass sie als Excel-kompatible Struktur behandelt werden. Nach dem Laden konvertiert die Methode ToDataTable(true) das Arbeitsblatt in ein DataTable, wobei der Parameter true angibt, dass die erste Zeile als Spaltenüberschrift verwendet werden soll. Das Ergebnis ist eine saubere, strukturierte DataTable mit benannten Spalten, die Ihren CSV-Kopfzeilen entsprechen. Weitere fortgeschrittene Manipulationsmöglichkeiten finden Sie im vollständigen IronXL -Leitfaden .
Der Konvertierungsprozess erhält außerdem die Datentypen – Zahlen bleiben numerisch, Datumsangaben werden korrekt interpretiert und Textfelder behalten ihre Formatierung. Diese automatische Typinferenz spart im Vergleich zu manuellen Parsing-Ansätzen erhebliche Entwicklungszeit. Für Szenarien, die eine benutzerdefinierte Datenformatierung erfordern, können Sie die Zellenformatierung vor der Konvertierung anwenden.
Was steuert der ToDataTable Parameter?
Der boolesche Parameter in ToDataTable() bestimmt die Behandlung von Kopfzeilen. Bei der Einstellung true wird die erste Zeile zu Spaltennamen in Ihrem DataTable, wodurch sinnvolle Feldreferenzen wie CustomerName anstelle von Column1 entstehen. Wenn false, werden generische Spaltennamen zugewiesen, was für CSV-Dateien ohne Kopfzeile nützlich ist. Diese Flexibilität unterstützt verschiedene CSV-Formate, die in realen Anwendungen vorkommen. In fortgeschrittenen Szenarien kann es erforderlich sein, Arbeitsmappen mit benutzerdefinierten Optionen zu öffnen , um mehrere Datenbereiche zu verarbeiten.
Wie verarbeitet man CSV-Dateien ohne Kopfzeilen?
Für CSV-Dateien ohne Kopfzeile verwenden Sie ToDataTable(false) und weisen Sie die Spaltennamen anschließend manuell zu. Sie können durch die Columns-Sammlung iterieren und sinnvolle Namen auf der Grundlage Ihres Datenschemas festlegen. Alternativ können Sie vor dem Laden programmatisch eine Kopfzeile in Ihre CSV-Datei einfügen. IronXL unterstützt auch das Erstellen von Excel-Dateien von Grund auf, falls Sie vorhandenen Daten Überschriften hinzufügen müssen.
Welche Auswirkungen haben große CSV-Dateien auf die Performance?
IronXL verarbeitet große CSV-Dateien effizient mithilfe von Puffertechniken. Dateien unter 100 MB werden in der Regel innerhalb von Sekunden geladen. Dank intelligenter Pufferung bleibt die Speichernutzung unabhängig von der Dateigröße unter Kontrolle. Für eine optimale Leistung bei massiven Datensätzen empfiehlt sich die Verarbeitung in Batches unter Verwendung von Bereichsauswahlverfahren. Die Produktseite des IronXL beschreibt die Leistungsmerkmale im Detail.
Wie importiert man einen DataTable in SQL Server?
Sobald Sie Ihren DataTable haben, können Sie ihn mit SqlBulkCopy effizient in SQL Server importieren. Das folgende Beispiel verwendet C#-Anweisungen auf oberster Ebene:
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;
// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
"Integrated Security=True;TrustServerCertificate=True;";
// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);
// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";
// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");
// Set batch size for better performance
bulkCopy.BatchSize = 1000;
// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;
// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
"Integrated Security=True;TrustServerCertificate=True;";
// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);
// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";
// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");
// Set batch size for better performance
bulkCopy.BatchSize = 1000;
// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
Imports System.Data
Imports Microsoft.Data.SqlClient
Imports IronXL
' Create connection string
Dim connectionString As String = "Data Source=localhost;Initial Catalog=SalesDB;" &
"Integrated Security=True;TrustServerCertificate=True;"
' Read CSV into DataTable
Dim workbook As WorkBook = WorkBook.LoadCSV("inventory_report.csv")
Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable(True)
' Bulk insert into SQL Server
Using connection As New SqlConnection(connectionString)
connection.Open()
Using bulkCopy As New SqlBulkCopy(connection)
' Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory"
' Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code")
bulkCopy.ColumnMappings.Add("Quantity", "quantity")
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated")
' Set batch size for better performance
bulkCopy.BatchSize = 1000
' Write data to SQL Server
bulkCopy.WriteToServer(dataTable)
End Using
End Using
Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records")
Die Klasse SqlBulkCopy bietet eine hohe Leistung für umfangreiche Datenimporte. Die ColumnMappings-Sammlung bildet DataTable-Spalten auf Datenbankspalten mit unterschiedlichen Namen ab und gewährleistet so Flexibilität in Ihrem Datenschema. Die Eigenschaft BatchSize optimiert die Speichernutzung, indem sie Datensätze in Stücken verarbeitet, anstatt alles auf einmal zu laden. Erfahren Sie mehr über die Import- und Exportfunktionen von IronXL .
Um die Datenintegrität weiter zu verbessern, sollten Sie die Implementierung von Transaktionsunterstützung für Ihre Massenkopiervorgänge in Betracht ziehen. Dadurch wird sichergestellt, dass Teilimporte im Fehlerfall rückgängig gemacht werden können. Sie können auch die Funktionen von IronXL zum Schreiben von Excel-Dateien verwenden, um Daten vor dem Import vorab zu validieren.
Warum ist BatchSize wichtig für die Leistung?
BatchSize steuert, wie viele Zeilen bei jedem Netzwerk-Roundtrip an SQL Server gesendet werden. Kleinere Batches (100-1000 Zeilen) reduzieren die Speichernutzung und ermöglichen eine Fortschrittsüberwachung, erhöhen aber den Netzwerk-Overhead. Größere Batches (5000–10000 Zeilen) maximieren den Durchsatz für schnelle Netzwerke, verbrauchen aber mehr Speicherplatz. Die optimale Größe hängt von Ihrer Zeilenbreite, der Netzwerklatenz und dem verfügbaren Speicher ab.
Wie geht man mit Spaltenzuordnungsfehlern um?
Fehlerhafte Spaltenzuordnungen verursachen Laufzeitausnahmen bei Massenkopiervorgängen. Vergewissern Sie sich immer, dass die Spaltennamen der Quelle DataTable genau mit Ihren Mapping-Definitionen übereinstimmen, einschließlich der Groß- und Kleinschreibung. Verwenden Sie die Methode GetOrdinal, um das Vorhandensein von Spalten vor dem Mapping zu überprüfen. Bei dynamischen Schemas wird die Struktur der Zieltabelle abgefragt und die Zuordnungen werden programmatisch erstellt. Der IronXL- Leitfaden "Excel zu DataSet" kann Ihnen dabei helfen, Spaltennamen vor dem Import zu standardisieren.
Welche Sicherheitsaspekte sind bei Massenimporten zu beachten?
Massenimporte erfordern erhöhte Datenbankberechtigungen, typischerweise db_datawriter oder bulkadmin Rollen. Verwenden Sie nach Möglichkeit die integrierte Authentifizierung, um das Einbetten von Anmeldeinformationen in Verbindungszeichenfolgen zu vermeiden. Implementieren Sie Sicherheit auf Zeilenebene, indem Sie beim Import Audit-Spalten hinzufügen. Um Probleme durch fehlerhafte CSV-Daten zu vermeiden, sollten Sie stets die Datentypen und -bereiche überprüfen. Auf der IronXL -Lizenzseite finden Sie Informationen zu den Anforderungen für den Einsatz in Enterprise .
Wie geht man mit unterschiedlichen CSV-Trennzeichen um?
Nicht alle CSV-Dateien verwenden Kommas. IronXL verarbeitet verschiedene Trennzeichen und ist daher sowohl für internationale Datenformate als auch für ältere Systeme geeignet:
using IronXL;
using System;
using System.Data;
using System.IO;
// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");
// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");
// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);
WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);
// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
using IronXL;
using System;
using System.Data;
using System.IO;
// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");
// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");
// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);
WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);
// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
foreach (var item in row.ItemArray)
Console.Write($"{item}\t");
Console.WriteLine();
}
Imports IronXL
Imports System
Imports System.Data
Imports System.IO
' --- Tab-delimited file ---
Dim tsvPath As String = "export_data.tsv"
Dim tsvWorkbook As WorkBook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, ControlChars.Tab)
' --- Semicolon-delimited file ---
Dim semiPath As String = "european_data.csv"
Dim tempCsv As String = Path.Combine(Path.GetTempPath(), "european_data_comma.csv")
' Replace semicolons with commas for proper parsing
Dim lines As String() = File.ReadAllLines(semiPath)
For i As Integer = 0 To lines.Length - 1
lines(i) = lines(i).Replace(";"c, ","c)
Next
File.WriteAllLines(tempCsv, lines)
Dim semiWorkbook As WorkBook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX)
' Print tab-delimited results
Dim tsvTable As DataTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine("--- Tab-delimited File ---")
For Each col As DataColumn In tsvTable.Columns
Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In tsvTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}{ControlChars.Tab}")
Next
Console.WriteLine()
Next
' Print semicolon-delimited results
Dim semiTable As DataTable = semiWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine(vbCrLf & "--- Semicolon-delimited File ---")
For Each col As DataColumn In semiTable.Columns
Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In semiTable.Rows
For Each item In row.ItemArray
Console.Write($"{item}{ControlChars.Tab}")
Next
Console.WriteLine()
Next
Dieser Code demonstriert das Laden von CSV-Dateien mit verschiedenen Trennzeichen in IronXL WorkBook Objekte. Tabulatorgetrennte Dateien werden mit "\t" als Trennzeichen gelesen, während semikolongetrennte Dateien vor dem Laden in das Standard-CSV-Format konvertiert werden. Bei komplexeren Dateiformaten können Sie auch den Export von Excel-Daten in verschiedene Formate in Betracht ziehen.
Welche Trennzeichen werden von IronXL nativ unterstützt?
IronXL unterstützt gängige Trennzeichen wie Kommas, Tabulatoren und senkrechte Striche (|), and custom single-character delimiters through the LoadCSV Überladung. Für eine optimale Leistung verwenden Sie den integrierten Trennzeichenparameter anstatt Dateien vorzuverarbeiten. Mehrstellige Trennzeichen erfordern eine Vorverarbeitung, wie das obige Beispiel mit dem Semikolon zeigt. Sie können auch Zellen in der resultierenden Arbeitsmappe zusammenführen , wenn Sie die analysierten Daten neu organisieren müssen.
Wie erkennt man das Trennzeichen automatisch?
Die automatische Trennzeichenerkennung analysiert die ersten Zeilen Ihrer CSV-Datei. Zählen Sie die Vorkommen gängiger Trennzeichen (Komma, Tabulator, Semikolon, Pipe) in jeder Zeile. Das am häufigsten vorkommende Zeichen ist wahrscheinlich das Trennzeichen. IronXL bietet keine automatische Erkennung, aber Sie können diese Logik vor dem Aufruf von LoadCSV implementieren.
Welche IronXL -Funktionen werden neben CSV unterstützt?
IronXL bietet weit mehr als nur das Lesen von CSV-Dateien. Die Bibliothek deckt das gesamte Spektrum der Excel- und Tabellenkalkulationsoperationen in C# ab und ist somit eine einzige Abhängigkeit für datenzentrierte Anwendungen.
| Feature | Beschreibung | Mehr erfahren |
|---|---|---|
| Excel-Dateien lesen | Laden Sie .xlsx-, .xls- und .csv-Dateien und greifen Sie programmatisch auf Zellendaten zu. | Excel lesen |
| Excel-Dateien schreiben | Tabellenkalkulationen erstellen und bearbeiten, Werte, Formeln und Formatvorlagen festlegen. | Excel schreiben |
| Excel-Dateien erstellen | Erstellen Sie neue Arbeitsmappen und Arbeitsblätter aus Code | Excel erstellen |
| In DataSet exportieren | Konvertieren Sie ganze Arbeitsmappen in DataSet-Objekte für Szenarien mit mehreren Tabellen | Excel zu DataSet |
| Zellenformatierung | Wenden Sie Zahlenformate, Schriftarten, Farben und Rahmen auf Zellen an | Zellenformatierung |
| Daten importieren | Füllen Sie Arbeitsblätter aus DataTable-, Listen- oder Datenbankquellen | Daten importieren |
Wie exportiert man eine gesamte Arbeitsmappe als Datensatz?
Wenn Ihre CSV-Datei mehrere Abschnitte enthält oder Sie mit mehreren Blättern arbeiten müssen, verwenden Sie die Methode ToDataSet() für das Objekt WorkBook. Das Ergebnis ist ein DataSet mit einem DataTable pro Arbeitsblatt. Die Anleitung "Excel to DataSet" enthält schrittweise Code-Beispiele für dieses Szenario.
Welche Lizenzoptionen stehen zur Verfügung?
IronXL ist für die kommerzielle Nutzung mit einer Vielzahl von Lizenzstufen erhältlich, die auf Ihre Teamgröße und Ihre Bereitstellungsanforderungen abgestimmt sind. Eine kostenlose Testlizenz bietet Zugriff auf den vollen Funktionsumfang zur Evaluierung. Die Lizenzseite dokumentiert die verfügbaren Pläne, einschließlich lizenzgebührenfreier Weiterverbreitung und SaaS-Optionen.
Was sind die nächsten Schritte?
IronXL macht den Import von CSV-Datenbanken zu einem unkomplizierten und zuverlässigen Prozess. Mit nur wenigen Zeilen Code können Sie:
- Lesen Sie CSV-Dateien aus beliebigen Dateipfaden mithilfe der LoadCSV-Funktion
- Konvertieren von CSV-Daten in ein
DataTablemit korrekter Datenformatierung - Beibehaltung von Spaltenüberschriften und DataTable-Spalten durch automatisches Parsing
- Importieren Sie Millionen von Zeilen mithilfe von Massenoperationen effizient in eine Datenbanktabelle
Die Bibliothek kümmert sich um die Feinheiten des CSV-Parsings, der Speicherverwaltung und der Datentypkonvertierungen, sodass Sie sich auf Ihre Geschäftslogik konzentrieren können, anstatt sich mit Details der Dateiverarbeitung auseinandersetzen zu müssen. Ganz gleich, ob Sie ASP.NET-Anwendungen erstellen, mit Blazor arbeiten oder .NET 10-Desktop-Apps entwickeln – IronXL bietet konsistente, zuverlässige CSV-Verarbeitung auf allen Plattformen.
Bereit zum Start? Die IronXL-Dokumentation behandelt jede Funktion ausführlich, und mit einer Testlizenz können Sie die gesamte IronXL-Bibliothek evaluieren.
Häufig gestellte Fragen
Was ist der beste Weg, um CSV-Dateien in eine DataTable in C# zu lesen?
Mit IronXL können Sie CSV-Dateien effizient in eine DataTable in C# lesen, mit einfachen Codebeispielen, die in unserem Entwicklerhandbuch bereitgestellt werden.
Warum sollte ich IronXL für die CSV-zu-DataTable-Konvertierung verwenden?
IronXL bietet eine unkomplizierte API zum Analysieren von CSV-Dateien und deren Umwandlung in DataTables, sodass Sie Ihre Daten in C# leicht manipulieren und analysieren können.
Kann IronXL große CSV-Dateien bei der Konvertierung in DataTables verarbeiten?
Ja, IronXL ist so entwickelt, dass es große CSV-Dateien effizient verarbeiten und in DataTables umwandeln kann, ohne Leistungsprobleme.
Unterstützt IronXL die Datenmanipulation nach der Umwandlung von CSV in DataTable?
Absolut, sobald Sie eine CSV-Datei mit IronXL in eine DataTable umgewandelt haben, können Sie die Daten nach Bedarf einfach manipulieren und analysieren.
Wie kann ich CSV-Daten mit IronXL in eine Datenbank importieren?
Nachdem Sie Ihre CSV-Datei mit IronXL in eine DataTable umgewandelt haben, können Sie die Daten unter Verwendung der Standard-Datenbankverbindung in C# in eine Datenbank einfügen.
Ist IronXL geeignet für die Verarbeitung von CSV-Dateien in Unternehmensanwendungen?
Ja, IronXL ist so konzipiert, dass es Aufgaben der CSV-Verarbeitung in Unternehmensanwendungen handhaben kann, indem es eine robuste Leistung und Zuverlässigkeit bietet.
Welche Vorteile hat die Umwandlung von CSV-Dateien in DataTables in C#?
Die Umwandlung von CSV-Dateien in DataTables ermöglicht eine einfachere Datenmanipulation, -analyse und -integration mit Datenbanken, wodurch die Datenverarbeitungsfähigkeiten Ihrer Anwendung verbessert werden.
Kann IronXL für andere Tabellenkalkulationsdateiformate außer CSV verwendet werden?
Ja, IronXL unterstützt verschiedene Tabellenkalkulationsformate, einschließlich Excel-Formaten, was vielseitige Datenverarbeitungsmöglichkeiten in C# ermöglicht.




