|
![]() |
#1 |
MCITP
|
Спасибо за ответ!
Но у меня сразу же пункт 2 не отработает, листов-то нет, как я понимаю. Во всяком случае у меня пишет, что листы не найдены. |
|
![]() |
#2 |
Moderator
|
Точно у вас файл - .xls? Не .xlsx? Потому что для .xlsx надо не Jet, а ACE: Вспомогательный класс для импорта из Excel через ADO
Показали бы код что ли... |
|
![]() |
#3 |
MCITP
|
Да, файл *.xls.
Если использовать ACE то валится с ошибкой ещё при получении доступа "Внешняя таблица не имеет предполагаемый формат". Строка подключения: X++: #localmacro.ADODBExcelConnString "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + %1 + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'" "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + %1 + ";Extended Properties='HTML Import;HDR=YES;IMEX=1'" #endmacro Если со второй, то возникает ошибка 2 в методе openFile в строчке X++: rstExcel.Open(@"SELECT * FROM [" + strSheetName + @"$]", this.getConnection(), nCursorType); |
|
![]() |
#4 |
Moderator
|
Объект '0$' ? Назвали бы лист как-то посолиднее, хотя бы букву добавьте перед нулем...
|
|
![]() |
#5 |
MCITP
|
Лист называется корректно, это так определяется
Поэтому я и считаю, что обращаться к листам тут не получится, а вот как я не знаю. Штатное открытие данного файла екселем сразу же выдаёт сообщение "Действительный формат отличается от указываемого его расширением " и выскакивет окошко. После нажатия кнопки "Да", файл открывается, где мы видим нормальное наименование листа. Но, насколько я понимаю, чтобы корректно открыть данный файл происходит какая-то операция, которая позволяет корректно это сделать и в лоб, первой строкой подключения, данный файл не обработать. Вторая строка получает доступ к файлу, но работать с листами не получается. Скорее всего, можно и подключением первой строкой добиться нужного результата, но, к сожалению, я не знаю как(также как и второй строкой подключения обработать файл) . ![]() Поэтому надеюсь на совет в какую сторону копать. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|