|
![]() |
#1 |
Участник
|
Проблема: класс ExcelImportADO при открытии файла Excel 2007 дает ошибку. Работаю в AX 4.0 SP2 под Windows 7. При открытии того же файла, сохраненного в формате Excel 1997-2003 ошибки нет, все прекрасно читается.
Цитата:
Метод "Open" в COM-объекте класса "ADODB.Connection" возвратил код ошибки 0x80004005 (E_FAIL), который означает: Внешняя таблица не имеет предполагаемый формат.
Набор таблиц недоступен. Приложение Excel инициализировано? Метод "Open" в COM-объекте класса "ADODB.Connection" возвратил код ошибки 0x80004005 (E_FAIL), который означает: Внешняя таблица не имеет предполагаемый формат. Невозможно открыть файл «c:\2007.xlsx» Цитата:
#localmacro.ADODBExcelConnString
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + %1 + ";Extended Properties='Excel 8.0;HDR=No;FirstRowHasNames=0;IMEX=1'" #endmacro |
|
![]() |
#2 |
Участник
|
Возникла такая проблема, при использовании данного класса:
X++: xlImport = new ExcelImportADO(filename); while(!xlImport.eof()) { strItemID = xlImport.getFieldValue(1); strItemAmount = xlImport.getFieldValue(3); ... Если кто-то сталкивался, подскажите как быть, плиз. |
|
![]() |
#3 |
Молодой, подающий надежды
|
Небольшой глюк
В методе getExcelSheetNames() помимо названий самих листов в контейнер попадают названия закладок (bookmark), что естественно приводит к ошибке, если закладка попадает в контейнер имен первой. Единственный способ отличить закладку от листа, который я пока нашел, это наличие символа '$' в названии листа. Вопрос: на сколько это корректно?
|
|