Как импортировать / читать CSV-файл с помощью различных кодировок - PullRequest
1 голос
/ 16 сентября 2011

Я пытаюсь прочитать / импортировать 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 Encoded CSV-файл, как я могу импортировать, но когда я пытаюсь импортировать UTF-8 или Unicode(Кодированный) CSV-файл Я получил метку порядка байтов (BOM) в столбце Name.

Мой вопрос: как я могу предотвратить это и импортировать любой закодированный CSV-файл?

1 Ответ

1 голос
/ 16 сентября 2011

Возможно, вам лучше использовать что-то, кроме драйверов Jet / Ace, для чтения или анализа данных CSV.На работе мы используем эту бесплатную библиотеку: http://www.filehelpers.com/

Глядя на документацию, она поддерживает различные типы кодирования.

...