【问题标题】:how Import /read CSV File with Different - different encoding如何以不同的方式导入/读取 CSV 文件 - 不同的编码
【发布时间】: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 文件?

【问题讨论】:

标签: c# csv oledb


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-12-02
    • 2015-02-02
    • 2022-01-24
    • 2016-03-05
    • 2017-11-12
    • 2021-02-11
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多