Mengimport Data CSV ke dalam Jadual Data .NET menggunakan Pembekal OleDb
Panduan ini menunjukkan cara memuatkan fail CSV dengan cekap ke dalam .NET System.Data.DataTable
menggunakan pembekal OleDb. Walaupun mudah, pendekatan ini memerlukan perhatian terhadap perincian, terutamanya apabila mengendalikan data berangka.
Memanfaatkan Pembekal OleDb
Pembekal OleDb menawarkan mekanisme mudah untuk berinteraksi dengan fail CSV. Walau bagaimanapun, perangkap biasa melibatkan salah tafsir nilai berangka sebagai teks. Untuk mengurangkan perkara ini, kami akan menggunakan fail schema.ini
.
Kepentingan schema.ini
Fail schema.ini
menyediakan konfigurasi penting untuk pembekal OleDb, membenarkan kawalan terperinci ke atas proses import data. Secara khusus, ini membolehkan kami mentakrifkan jenis data secara eksplisit, memastikan tafsiran medan berangka yang betul.
Pelaksanaan Praktikal: Kaedah C#
Kod C# berikut menyediakan kaedah yang boleh digunakan semula untuk memuatkan data CSV ke dalam DataTable
:
<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>
Parameter Kaedah dan Kefungsian:
filePath
: Laluan lengkap ke fail CSV anda.hasHeaderRow
: Boolean yang menunjukkan sama ada baris pertama mengandungi pengepala lajur (benar) atau tidak (salah).Kaedah membina rentetan sambungan, melaksanakan pertanyaan SQL untuk memilih semua data dan mengisi DataTable
dengan hasilnya. Sifat Locale
memastikan tafsiran data yang betul berdasarkan tetapan serantau sistem anda.
Pendekatan diperkemas ini menyediakan penyelesaian yang mantap dan cekap untuk menyepadukan data CSV ke dalam aplikasi .NET anda. Ingat untuk mengendalikan kemungkinan pengecualian (mis., FileNotFoundException
) untuk strategi pengendalian ralat yang lengkap.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Memuatkan Fail CSV ke dalam Jadual Data .NET Menggunakan Pembekal OleDb?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!