首页 > 后端开发 > C++ > 如何有效地将CSV数据加载到.NET DATATABLE中?

如何有效地将CSV数据加载到.NET DATATABLE中?

Susan Sarandon
发布: 2025-01-27 19:21:14
原创
532 人浏览过

How Can I Efficiently Load CSV Data into a .NET DataTable?

将 CSV 数据导入 .NET 数据表:实用指南

高效处理 CSV 数据对于许多 .NET 应用程序至关重要。本文演示如何将 CSV 文件无缝导入 .NET DataTable,这是一个用于管理表格数据的强大 ADO.NET 结构。

利用 OleDb 提供程序

虽然标准 ADO.NET 缺乏直接 CSV 导入功能,但 OleDb 提供程序提供了强大的解决方案。 然而,一个常见的挑战涉及数字数据的正确解释。 我们将使用 schema.ini 文件解决此问题(如下所述)。

可重用的 C# 方法

以下 C# 函数读取 CSV 文件并填充 DataTable,并适当处理标题行:

<code class="language-csharp">public static DataTable LoadCsvToDataTable(string filePath, bool hasHeaderRow)
{
    string directory = Path.GetDirectoryName(filePath);
    string filename = Path.GetFileName(filePath);
    string header = hasHeaderRow ? "Yes" : "No";
    string sqlQuery = $"SELECT * FROM [{filename}]";

    using (OleDbConnection connection = new OleDbConnection(
        $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={directory};Extended Properties=\"Text;HDR={header}\""))
    using (OleDbCommand command = new OleDbCommand(sqlQuery, connection))
    using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
    {
        DataTable dataTable = new DataTable();
        dataTable.Locale = CultureInfo.CurrentCulture; // Ensures correct data type handling
        adapter.Fill(dataTable);
        return dataTable;
    }
}</code>
登录后复制

此方法使用当前区域性来确保准确的数据类型解释,防止数值出现常见问题。 这种方法避免了手动类型转换的需要。

以上是如何有效地将CSV数据加载到.NET DATATABLE中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板