【发布时间】:2011-09-16 11:27:08
【问题描述】:
我正在尝试使用以下代码将 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 文件?
【问题讨论】:
-
Read Csv file encoding error 的可能重复项
-
请尽量保持您的代码可读性!