Wie man eine CSV-Datei in C# in eine DataTable liest
CSV-Dateien in DataTable in C# zu konvertieren ist mit IronXL einfach: Verwenden Sie WorkBook.LoadCSV(), um eine beliebige CSV-Datei zu lesen, und rufen Sie dann ToDataTable(true) auf, um ein strukturiertes DataTable mit entsprechenden Spaltenüberschriften zu erstellen, das für den Datenbankimport oder die Datenmanipulation bereit ist.
Die Arbeit mit CSV-Dateien ist eine gängige Aufgabe for .NET Entwickler, egal ob es um den Import von Verkaufsberichten, die Bestandsverwaltung oder die Synchronisierung von Kundendatensätzen geht. Ein CSV-Datei in eine DataTable zu konvertieren erleichtert das Manipulieren, Analysieren oder Einfügen in eine Datenbanktabelle. 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 von jedem Dateipfad aus lesen, sie in eine DataTable mit entsprechenden Spaltenüberschriften umwandeln und für Massendatenbankoperationen vorbereiten. Dieser Ansatz ist besonders nützlich bei der Arbeit mit Excel-Daten in C# .
In diesem Leitfaden erfahren Sie, wie Sie:
- Laden Sie eine CSV-Datei in eine
DataTablein C# mit IronXL's CSV-Lesefunktionen - Unterschiedliche Trennzeichen wie Kommas, Tabulatoren oder Semikolons verarbeiten
- Importieren Sie Ihr
DataTabledirekt und effizient in SQL Server mit 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 zu DataTable wichtig?
CSV zu DataTable Konvertierung ermöglicht es Entwicklern, durch Kommas getrennte Werte in strukturierte Objekte zu verwandeln, die weiterverarbeitet werden können. Egal, ob Sie Bestandsdaten, Kundendaten oder Transaktionsprotokolle bearbeiten, die effiziente Konvertierung von CSV in ein DataTable ist entscheidend. Wenn Sie die erste Zeile als Spaltenüberschriften verwenden, können Sie sicherstellen, dass die DataTable-Spalten mit Ihrem Datenbanktabellenschema ü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 anstelle anderer Datenstrukturen verwenden?
DataTables sind ideal, 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 Schemaüberprüfung, Beziehungen zwischen Tabellen und direkte Integration mit ADO.NET. Für komplexere Szenarien können Sie auch zwischen DataSet und DataTable umwandeln, je nach Bedarf.
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.Excel
Oder falls Sie die .NET Befehlszeilenschnittstelle bevorzugen:
dotnet add package IronXL.Excel
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 konvertieren Sie eine CSV-Datei zu DataTable?
Der Kern-Workflow in IronXL umfasst nur wenige Codezeilen. So lesen Sie eine CSV-Datei und konvertieren sie in ein DataTable mit Top-Level-Statements in C# 10+:
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 analysiert Ihre CSV-Datei automatisch und verarbeitet dabei zitierte Felder und eingebettete Kommas. Der fileFormat Parameter gibt an, wie IronXL die CSV-Daten intern interpretieren soll, um sicherzustellen, dass sie als Excel-kompatible Struktur behandelt werden. Sobald geladen, wandelt die ToDataTable(true) Methode das Arbeitsblatt in ein DataTable um, wobei der Parameter true angibt, dass die erste Zeile als Spaltenüberschriften verwendet werden soll. Das Ergebnis ist ein sauberes, strukturiertes DataTable mit benannten Spalten, die mit Ihren CSV-Kopfzeilen übereinstimmen. 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 kontrolliert der ToDataTable Parameter?
Der boolesche Parameter in ToDataTable() bestimmt die Verarbeitung von Kopfzeilen. Wenn auf true gesetzt, werden die erste Zeile als Spaltennamen in Ihrem DataTable verwendet, was sinnvolle Feldreferenzen wie CustomerName statt Column1 schafft. Wenn false, werden generische Spaltennamen zugewiesen, was für CSV-Dateien ohne Kopfzeilen 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 Kopfzeilen verwenden Sie ToDataTable(false) und weisen anschließend manuell Spaltennamen zu. Sie können die Columns Sammlung durchlaufen und sinnvolle Namen basierend auf Ihrem Datenschema zuweisen. 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 importieren Sie ein DataTable in SQL Server?
Sobald Sie Ihr DataTable haben, wird der Import in SQL Server effizient mit SqlBulkCopy. 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 SqlBulkCopy Klasse bietet starke Leistung für groß angelegte Datenimporte. Die ColumnMappings Sammlung ordnet DataTable Spalten Datenbankspalten mit unterschiedlichen Namen zu, um Flexibilität in Ihrem Datenschema zu gewährleisten. Die BatchSize Eigenschaft optimiert die Speichernutzung, indem Datensätze in Blöcken verarbeitet werden, 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 den Speicherverbrauch und ermöglichen die Fortschrittsüberwachung, erhöhen jedoch den Netzwerkaufwand. 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. Überprüfen Sie immer, dass die Spaltennamen der Quelle DataTable genau mit Ihren Zuordnungsdefinitionen übereinstimmen, inklusive Groß- und Kleinschreibung. Verwenden Sie die GetOrdinal Methode, um die Existenz von Spalten vor der Zuordnung zu validieren. 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?
Massentests erfordern erweiterte Datenbankberechtigungen, in der Regel 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 zeigt das Laden von CSV-Dateien mit verschiedenen Trennzeichen in IronXL WorkBook Objekte. Tabulatorgetrennte Dateien werden mit "\t" als Trennzeichen gelesen, während durch Semikolon getrennte Dateien vor dem Laden in 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 implementieren, bevor Sie LoadCSV aufrufen.
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 wenn Sie mit mehreren Blättern arbeiten müssen, verwenden Sie die ToDataSet() Methode auf dem WorkBook Objekt. Dies gibt ein DataSet zurück, das jeweils ein DataTable pro Arbeitsblatt enthält. 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 Sie CSV-Daten in ein
DataTablemit ordnungsgemäßer 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.




