首頁 >後端開發 >C++ >如何使用 OleDb 提供者將 CSV 檔案有效載入到 .NET 資料表中?

如何使用 OleDb 提供者將 CSV 檔案有效載入到 .NET 資料表中?

Patricia Arquette
Patricia Arquette原創
2025-01-27 19:11:09645瀏覽

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

使用OLEDB提供商

本指南演示瞭如何使用OLEDB提供商有效地將CSV文件加載到.NET

中。 雖然直截了當,但這種方法需要注意細節,尤其是在處理數字數據時。 System.Data.DataTable

>利用OLEDB提供商

> > OLEDB提供商提供了一種與CSV文件進行交互的簡單機制。但是,一個常見的陷阱涉及將數字值作為文本的誤解。 為了減輕這種情況,我們將使用一個

文件。

> schema.ini

文件為OLEDB提供商提供了重要的配置,從而可以對數據導入過程進行細粒度的控制。 具體來說,它使我們能夠明確定義數據類型,確保正確解釋數字字段。

實現:A C#方法schema.ini

>

以下C#代碼提供了一種可重複使用的方法,將CSV數據加載到A>:>:

方法參數和功能: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>

:CSV文件的完整路徑。

:一個布爾值指示第一行是否包含列標題(true)(false)。
    該方法構建連接字符串,執行SQL查詢以選擇所有數據,並在結果中填充A
  • >。 filePath屬性確保基於系統的區域設置正確的數據解釋。 >
  • >這種簡化的方法為將CSV數據集成到您的.NET應用程序中提供了強大而有效的解決方案。 請記住要處理可能的完全錯誤處理策略的潛在異常(例如,
  • )。

以上是如何使用 OleDb 提供者將 CSV 檔案有效載入到 .NET 資料表中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn