本指南演示了如何使用OLEDB提供商有效地将CSV文件加载到.NET
中。 虽然直截了当,但这种方法需要注意细节,尤其是在处理数字数据时。
System.Data.DataTable
> > 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文件的完整路径。
filePath
属性确保基于系统的区域设置正确的数据解释。以上是如何使用OLEDB提供商有效地将CSV文件加载到.NET DataTable中?的详细内容。更多信息请关注PHP中文网其他相关文章!