将 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中文网其他相关文章!