Соединение с Excel 2007 OLEDB: ошибка, когда файл содержит гиперссылку - PullRequest
2 голосов
/ 19 августа 2010

Прежде чем все здесь закроют этот вопрос за то, что он является дубликатом, я должен сказать, что я посмотрел на остальные и безуспешно пробовал ответить на них.

Вот строка подключения, которую я использую

strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePathBox.Text + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"";

Я искал все выше и ниже о строке подключения 2007 года и перепробовал все, что видел, и много комбинацийтам из.Но независимо от того, что я получаю исключение, говоря External table is not in the expected format.

У меня установлен Excel 2007, и я попытался установить правильные драйверы отдельно.

Редактировать

Хорошо, странная вещь: это происходит только с файломЯ пытаюсь преобразовать.Я сделал новый файл xlsx, и он работал нормально.Просто это именно тот файл.

РЕДАКТИРОВАТЬ 2

В файле, который я пытался конвертировать, были адреса электронной почты.Когда адрес электронной почты введен, Excel автоматически делает его гиперссылкой.Это проблема.Если я удаляю гиперссылку из текста, преобразование работает нормально.Есть ли что-то особенное, что я должен сделать при подключении, если файл содержит гиперссылки?

1 Ответ

1 голос
/ 19 августа 2010

Вот тот, который работает для меня для файлов XLSX:

strConn = @ "Provider = Microsoft.ACE.OLEDB.12.0; Источник данных =" + dataSource + "; Расширенные свойства = \" EXCEL 12.0XML; HDR = YES; IMEX = 1 \ "; Persist Security Info = True; Jet OLEDB: Пароль базы данных = admin";

Для xlsm я использую:

strConn = @ "Provider =Microsoft.ACE.OLEDB.12.0; Источник данных = "+ dataSource +"; Расширенные свойства = \ "Макрос EXCEL 12.0; HDR = YES; IMEX = 1 \"; Информация о сохранении безопасности = True; Jet OLEDB: Пароль базы данных = admin ";

...