Смешанный тип данных в Excel, IMEX не работает - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь экспортировать xls в datatable. Ниже моя строка подключения.

string path = //xls source path
OleDbConnection MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel8.0;IMEX=1;TypeGuessRows=0;HDR=No;ImportMixedTypes=Text'");

Я установил IMEX=1 и все другие расширенные свойства, так как мне приходится иметь дело со смешанными типами данных.

Несмотря на то, что я установил такое соединение, я все равно выдал ошибку.

нет сообщений об ошибках , но непоследовательные строки (которые не следуют типу данных большинства, установлены на ноль вместо ).

Может кто-нибудь сказать мне, что я пропустил? Кстати, я использую метод OleDbDataAdapter & Fill(DataSet).

1 Ответ

6 голосов
/ 29 марта 2012

Вы уверены, что TypeGuessRows=0; и ImportMixedTypes=Text; работают из строки подключения и не должны изменяться в реестре (HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel)? AFAIK эти настройки читаются из реестра. ImportMixedTypes=Text обычно по умолчанию, но TypeGuessRows=8, и должно быть установлено на 0, как в строке подключения.

...