#0
by fatal_error
Добрый день, возникла проблема при чтении из 1С xls файла через ADO. суть проблемы: в файле 6 колонок. первые 5 колонок имеют числовой формат и они нормально считываются, а вот последняя имеет формат дата и при считывании через ADO значение в колонке null. пробовал следующие виды подключений: Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + СокрЛП(СписокНоменклатуры) + ";Extended Properties=""Excel 8.0;HDR=YES"""; "Driver={Microsoft Excel Driver (*.xls)};DBQ=" + СокрЛП(СписокНоменклатуры) + "; DriverID=790; HDR=YES; IMEX=1"; также пробовал менять формат ячеек 6-го столбца на числовой - дохлый номер. добавлял 10 строк в начало и писал в них текст - тоже null. как еще можно прочитать данные?
#1
by fisher
Попробуй так еще: "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + ПараметрыПодключения.ИмяФайла + "; Extended Properties=""Excel 12.0; HDR=NO; IMEX=1;"""
#2
by fatal_error
Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно. - вот такая беда появляется при Connection.Open. На компе устанавливал AccessDatabaseEngine_x64.exe
#6
by fisher
У меня, кстати, так и не получилось под ADO гарантированно получать имена листов в том порядке, в котором они представлены пользователю. Пришлось ради этой чепухи стучаться в эксель напрямую (когда надо). А это долго :(
#7
by fisher
И от одной неочевидной бяки предостерегу, раскапывая которую пришлось много времени убить: если список листов получаешь через Connection.OpenSchema(adSchemaTables), то при сложном форматировании там могут быть не только листы, но и области листа. А в результате может быть такой замечательный эффект: данные как бы получаешь. Но не всегда все :)
#8
by fatal_error
спасибо тебе, мил человек. 2 дня убил на загрузку. имя листа всегда одно и тоже, но приму к сведению.
#9
by Torquader
Так там как раз области и будут. Просто лист - это стандартная область. Ещё смертельно для ADO, когда в разных строках в одной колонке разные типы - ADO на этом выдаёт null.
#10
by fisher
Просто подавляющее большинство сэмплов кода в интернетиках для получения имени первого листа эту особенность не учитывает.
#11
by Злопчинский
при моем первом попытке поработать с адом - я натолкнулся на простую но поразительную для меня бяку.. строк на единственном листе было тысяч пять, но адо возвращал что-то в районе 4000.. и все! так я плюнул и не юзаю адо... слава богу что не нужно...
#12
by fisher
Если имя листа определялось в коде, а не задавалось тобой фиксированно, то ты почти гарантированно натолкнулся на описанную мной бяку.
#14
by fisher
Вот я на таком же и споткнулся. Магазины присылали заявки вроде как в одном и том же шаблоне. Никаких визуальных отличий. Но из файлов пары магазинов вычитывалась только часть строк. Стал копать и докопался до . Х.з. почему там эти области появились. Может, пользователи где-то неловкое движение мышкой сделали :) Визуально тоже никаких областей и простейший формат.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как объединить два файла xls в один из 1С
- из XLS в 1С - как узнать количество строк в XLS ?
- AdoDB и XLS, созданный в Oo - косяк...
- Определенный диапазон колонок у Excel (ADODB)
- v8: Тонкий клиент и ADODB
- ADODB.CONNECTION - open() вылетает с ошибкой если год - 2012..
- ТабДок.Записать("Имя.xls"); Показать("Имя.xls"); Save... mxl вместо xls...
- ADODB.Connection, VFP драйвер и sys(3055,2040)
В этой группе 1С
- Оформление передачи денег в УТ 10.3
- Как объединить записи 2-х полей в запросе?
- СКД, не выводить значения вышестоящих группировок
- Пните в правильном направлении по поводу ведущих измерений РС...
- Количество основных средств превышает количество объектов капитальных вложений.
- после проведения обновления БП 2.0 не запускаются обработки обновления
- Отбор по подразделению в ведомости амортизации ОС
- Frontol
- КД 2. Перенос ПКО в РКО
- Переход с 1С Штрих-М Торговое предприятие v5.1 на УТ 10.3 или 11
- Движок регулярных выражений Александра Орефкова. Замена в многострочной строке
- v7: Как скачать архив по sftp есть библиотека?
- БП 2.0.54: Декларация по налогу на прибыль
- вывод в отчете номенклатуры без характеристик.
- Как объединить строки в СКД
- SQL сервер. Ошибка 233
- выгрузка в ексель дает ошибку Произошла исключительная ситуация (0x800a03ec)
- Как открыть кассовую смену в УТ 11?
- v7: Регистр остатков, функция "Остаток" возвращает ноль, почему так, кто еще помнит?
- Подключение внешнего отчета