|
![]() |
#1 |
Moderator
|
Цитата:
Сообщение от erudit
![]() Используя класс ExcelImportADO столкнулся со следущей проблемой - если Excel файл содержит более 65536 строк, то первый вызов функции excelImportADO.eof() возвращает TRUE - что НЕ ВЕРНО, т.к. ещё прохода по строкам не было и соотв. импорт заканчивается не начавшись.
Кто-нибудь сталкивался с подобной проблемой? X++: #CCADO static void Job333_gl00mieExcelImportADO(Args _args) { ExcelImportADO doc = new ExcelImportADO(@'C:\Test_gl00mie.xlsx', #adOpenStatic); ; doc.openFile(false); while(!doc.eof()) { print doc.getFieldValue(1,false); doc.moveNext(); } } Ну и в Class Declaration класса надо заменить шаблон строки подключения на рекомендацию AndyD'а: А вы openFile не забыли у себя сделать? А то .eof() возвращает true и когда recordset = null. |
|
|
За это сообщение автора поблагодарили: erudit (1). |
![]() |
#2 |
Участник
|
Спасибо огромное!
С меня причитается! Буду в Питере, обязательно свяжусь! ![]() Заменил строку соединения и всё заработало как аптеке! Ещё раз спасибо за скорую помощь! |
|
![]() |
#3 |
Участник
|
Всем доброго времени суток.
Ax3 SP3 Обнаружился непонятный глюк: Все файлы, что пока трогал, грузятся нормально (идёт загрузка из прайсов поставщиков цен во внутреннюю табличку). Кроме одного. В нём столбец цены подгружается без сотых. Везде всегда формат столбца стоял "общий". Изменение формата на "число" не помогало. Вот такой инфолог: X++: info(strFmt("%1",xlImport.getFieldValue(8,false))); info(strFmt("%1",xlImport.getFieldValue(8,true))); info(strFmt("%1",any2real(xlImport.getFieldValue(8,false)))); info(strFmt("%1",any2real(xlImport.getFieldValue(8,true)))); X++: 6713,08 6713,08 6 713,00 6 713,00 X++: SalesDDP = xlImport.getFieldValue(8,false); Есть ли идеи у кого-нибудь? ![]() |
|