Importieren von CSV -Daten in ein .NET -Datentable mit dem OLEDB -Anbieter
Diese Anleitung zeigt, wie CSV -Dateien effizient in eine .NET System.Data.DataTable
mit dem OLEDB -Anbieter in eine .NET
Nutzung des OLEDB -Anbieters
schema.ini
Der OLEDB -Anbieter bietet einen einfachen Mechanismus für die Interaktion mit CSV -Dateien. Eine häufige Gefahr beinhaltet jedoch die Fehlinterpretation numerischer Werte als Text. Um dies zu mildern, verwenden wir eine
Die Bedeutung von Schema.ini
schema.ini
Die Datei
Praktische Implementierung: A C# -Methode
DataTable
Der folgende C# Code bietet eine wiederverwendbare Methode zum Laden von CSV -Daten in ein
<code class="language-csharp">using System.Data; using System.Data.OleDb; using System.Globalization; using System.IO; public static DataTable LoadCsvToDataTable(string filePath, bool hasHeaderRow) { string header = hasHeaderRow ? "Yes" : "No"; string pathOnly = Path.GetDirectoryName(filePath); string fileName = Path.GetFileName(filePath); string connectionString = $@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={pathOnly};Extended Properties=""Text;HDR={header}"""; string sql = $@"SELECT * FROM [{fileName}]"; using (OleDbConnection connection = new OleDbConnection(connectionString)) using (OleDbCommand command = new OleDbCommand(sql, connection)) using (OleDbDataAdapter adapter = new OleDbDataAdapter(command)) { DataTable dataTable = new DataTable(); dataTable.Locale = CultureInfo.CurrentCulture; adapter.Fill(dataTable); return dataTable; } }</code>
Methodenparameter und -funktionalität:
filePath
hasHeaderRow
DataTable
Die Methode konstruiert eine Verbindungszeichenfolge, führt eine SQL -Abfrage aus, um alle Daten auszuwählen, und populiert ein Locale
mit den Ergebnissen. Die
FileNotFoundException
Dieser optimierte Ansatz bietet eine robuste und effiziente Lösung für die Integration von CSV -Daten in Ihre .NET -Anwendungen. Denken Sie daran, potenzielle Ausnahmen (z. B.
Das obige ist der detaillierte Inhalt vonWie lade ich CSV-Dateien mithilfe des OleDb-Anbieters effizient in eine .NET-Datentabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!