如何导入/读取CSV文件与不同-不同的编码

本文关键字:文件 编码 CSV 读取 何导入 导入 | 更新日期: 2023-09-27 18:08:52

我正在尝试读取/导入CSV到数据集与以下代码

if (!File.Exists(file))
{
    File.Create(file).Close();
}
OleDbConnection connection = new System.Data.OleDb.OleDbConnection(
    "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + Path.GetDirectoryName(file) + 
    "; Extended Properties = '"Text;Excel 12.0;HDR=" + _AllowHeader + ";FMT=Delimited'"");
connection.Open();
string Query = "Select " + Count + " from [" + Path.GetFileName(_filename) + "]";
OleDbDataAdapter Adaptar = new System.Data.OleDb.OleDbDataAdapter(Query, connection);
Adaptar.Fill(DataSet);

这是很好的与ANSI编码的csv文件,我可以导入,但当我尝试导入UTF-8或Unicode(编码)csv文件我得到了字节顺序标记(BOM)列名称。

我的问题是如何防止这种情况并导入任何编码的CSV文件?

如何导入/读取CSV文件与不同-不同的编码

您最好使用Jet/Ace驱动程序以外的东西来读取或解析CSV数据。在工作中,我们使用这个免费库:http://www.filehelpers.com/

查看文档,它似乎支持不同的编码类型