Heim > Backend-Entwicklung > C++ > Wie lade ich CSV-Dateien mithilfe des OleDb-Anbieters effizient in eine .NET-Datentabelle?

Wie lade ich CSV-Dateien mithilfe des OleDb-Anbieters effizient in eine .NET-Datentabelle?

Patricia Arquette
Freigeben: 2025-01-27 19:11:09
Original
596 Leute haben es durchsucht

How to Efficiently Load CSV Files into a .NET DataTable Using the OleDb Provider?

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

geladen werden können. Obwohl dieser Ansatz unkompliziert ist, erfordert dieser Ansatz Liebe zum Detail, insbesondere beim Umgang mit numerischen Daten.

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

Datei.

Die Bedeutung von Schema.ini

schema.ini Die Datei

bietet eine entscheidende Konfiguration für den OLEDB-Anbieter, sodass eine feinkörnige Kontrolle über den Datenimportprozess ermöglicht wird. Insbesondere ermöglicht es uns, Datentypen explizit zu definieren und die korrekte Interpretation der numerischen Felder sicherzustellen.

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>
Nach dem Login kopieren

Methodenparameter und -funktionalität:

  • filePath
  • : Der vollständige Pfad zu Ihrer CSV -Datei.
  • hasHeaderRow
  • : Ein Boolescher Angabe, der angibt, ob die erste Zeile Spaltenkopfzeile (true) enthält oder nicht (falsch).

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

Eigenschaft sorgt für die korrekte Dateninterpretation basierend auf den regionalen Einstellungen Ihres Systems.

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.

) für eine vollständige Strategie zur Fehlerbehandlung zu bewältigen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage