Невозможно открыть соединение с Excel: внешняя таблица не в ожидаемом формате

Я пытаюсь извлечь строки из Excel, используя Oledb. Для некоторых файлов Excel от определенных людей возникает ошибка при попытке открыть соединение. Ошибка говорит: «Внешняя таблица не в ожидаемом формате».

Вот моя строка подключения

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties="Excel 8.0;HDR=NO;IMEX=1"

Одна важная вещь, которую я отметил, это то, что все работает нормально, если я оставляю файл открытым. Поскольку файлы получены от сторонних поставщиков, возможность «Сохранить как» отсутствует.

Заранее спасибо! Маной


person user489050    schedule 27.10.2010    source источник
comment
В свете ответа MrZoidberg вы уверены, что сам файл не поврежден?   -  person SWeko    schedule 27.10.2010


Ответы (3)


Попробуйте использовать следующую строку подключения:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.xls;Extended Properties=Extended Properties=Excel 12.0;

Внешняя таблица не в ожидаемом формате.» обычно возникает при попытке использовать файл Excel 2007 со строкой подключения, которая использует: Microsoft.Jet.OLEDB.4.0 и расширенные свойства = Excel 8.0

person MrZoidberg    schedule 27.10.2010
comment
Спасибо! Я уже пробовал это, но я получил ту же ошибку. Также расширение файла .xls, а не .xlsx. Даже я пытался импортировать этот файл с помощью Microsoft Query Wizard и ODBC (доступно в Excel 2007), получая ту же ошибку. - person user489050; 27.10.2010
comment
Где были созданы ваши test.xls? - person MrZoidberg; 27.10.2010

Можно прикрепить расширение xls к нескольким форматам, и Excel откроет файл без особых проблем. Попробуйте открыть его в текстовом редакторе и проверить, например, является ли он простым .csv. Это объясняет, почему ваша строка подключения будет работать, когда файл будет открыт.

person Fionnuala    schedule 27.10.2010

возможно, расширенные свойства отличаются. Попробуйте изменить его на импорт HTML, если исходный файл excel поступает с веб-страницы.....

person Ishwar Nataraj    schedule 31.10.2011
comment
Это комментарий или ответ? - person Austin Henley; 08.11.2012