Быстрая загрузка данных из Excel в 1С 8.1 (8.2) с помощью SQL запроса

20.06.12

Интеграция - Загрузка и выгрузка в Excel

Обработка/алгоритм для быстрой выборки данных для загрузки из Excel в 1С 8.1 (8.2)

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ЗагрузкаИзЕксельВ82.epf
.epf 8,18Kb
171 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

При загрузке данных из Excel в 1С 8 более-менее штатными средствами чтение данных происходит медленно. Но когда надо загрузить много данных и быстро, то можно воспользоваться прямым SQL запросом к Excel. Он выполняется в разы быстрее.

Обработка настроена на загрузку данных из MS Excel 97 и 2003 (и выше) версий. Загружаются данные в таблицу значений, потом их можно дальше обрабатывать.

Основной алгоритм:

    СтрПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Файл  + ";Extended Properties=Excel 8.0;";    //для Excel 97
    СтрПодключения2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Файл  + ";Extended Properties=Excel 8.0;";    //для Excel 2003 (или наоборот?)
    
    ЕстьОшибкаПодключения = Ложь;
    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.ConnectionString =  СтрПодключения;

    Попытка
        Connection.Open();
    Исключение
        ЕстьОшибкаПодключения = Истина;
    КонецПопытки;
    
    Если ЕстьОшибкаПодключения Тогда
        Connection.ConnectionString =  СтрПодключения2;
        Попытка
            Connection.Open();
        Исключение
            Сообщить ("Проблемы с подключением к SQLserver" );
            Возврат;
        КонецПопытки;
    КонецЕсли;    
    
    ТекстЗапроса = "SELECT * FROM [A"+ПерваяИнформационнаяСтрокаЭкселя+":BB]";    
    //тут можно указать и название листа типа "SELECT * FROM [Sheet1!A:BB]"
    //можно указать условие SELECT * FROM [A1:BB] where [ИНН]=""543400114477""";
    //Но надо помнить, при выборке Excel называет столбцы по значению в первой строке диапазона.
    //Если значения нет - то название столбца будет F1, F2 и т.д.

    Запрос = Новый COMОбъект("ADODB.Recordset");
    Запрос.Activeconnection = Connection;
    Попытка
        Запрос.Open(ТекстЗапроса);
    Исключение
        Сообщить ("Проблемы с выполнением запроса к SQL");
        Возврат;
    КонецПопытки;

более подробно - в обработке.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, ЛаМода, Мегамаркет, Aliexpress, Детский мир, Магнит Маркет (быв.МагнитЭкспресс), Лемана про, ЭНФАНТА (Акушерство), Летуаль, Твой дом, Золотое Яблоко, Каспи, Авито, Аптеки+ в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP.

5490 руб.

12.08.2021    46900    612    71    

223

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

12444 руб.

29.10.2014    234268    757    540    

502

SALE! 15%

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 14.05.2026, версия 9.3.1 - 10.7.2)

20740 17629 руб.

20.11.2015    176754    427    397    

544

Маркетплейсы Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Загрузка данных отчета о реализации и продаже товаров из сервиса Яндекс.Маркета «Беру» из отчетов Excel для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ «Отчет комиссионера о продажах».

6000 руб.

09.12.2020    30483    302    1    

149
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cool.vlad4 2 20.06.12 21:11 Сейчас в теме
загрузка Excel ...еще одна...
2. sai_NT 20.06.12 21:13 Сейчас в теме
Если бы был раздел Для новичков, то публикации нашлось бы в нем место.
3. Annett 47 20.06.12 21:29 Сейчас в теме
Вы бы сначала хоть одну публикацию выложили, а потом бы критиковали.
4. sai_NT 20.06.12 21:37 Сейчас в теме
(3) Annett, учитесь адекватно воспринимать конструктивную критику, в жизни это необходимый скилл.

p.s.
Не придерживаюсь мнения что лучше написать что-то чем ничего.
15. alul 05.02.15 12:50 Сейчас в теме
(4) sai_NT, А в чем "конструктив"? То что у автора низкий рейтинг еще ни о чем не говорит.
У Вас на 05.02.2015 я вообще ни одной публикации не вижу - вот это конструктивное замечание.
А когда Вы столкнетесь с необходимостью загрузить/выгрузить из/в Excel"я миллиона три записей, тогда будете сравнивать все "быстрые" пути.
5. Annett 47 20.06.12 21:51 Сейчас в теме
Ну это не конструктивная критика, в том то и дело.
6. sai_NT 20.06.12 21:55 Сейчас в теме
(5) Annett, иногда важнее человека заставить подумать, чем объяснить все.
7. cool.vlad4 2 20.06.12 21:56 Сейчас в теме
(5) какая может быть конструктивная критика, когда это публиковали тысячу раз http://infostart.ru/catalog/?q=%E7%E0%E3%F0%F3%E7%EA%E0+excel , http://infostart.ru/catalog/?q=excel+ado
16. alul 05.02.15 12:55 Сейчас в теме
(7) cool.vlad4, вот тут соглашусь.
Вариантов много, а суть одна. В защиту автора могу сказать только, то что он выложил в свободный доступ текст основного алгоритма,
А значит знающий человек может у же на этом этапе определить "а оно ему надо?"
8. shuhard 20.06.12 21:58 Сейчас в теме
(5)
Ну это не конструктивная критика

получи конструктивную:
- строка подключения не полноценная, в ней нет IMEX и половину xls файлов прочитать не удастся
- в обработке нет автомата определения имени первого листа
9. Annett 47 20.06.12 22:03 Сейчас в теме
(8) shuhard, теперь согласна.
10. psih12 132 21.06.12 10:36 Сейчас в теме
Автор должен был ещё предупредить, что:
1)файл Excel, из которого считывается информация, должен быть закрыт.
2) Бывает считывание информации с ошибками
3) Подобных статей в инете навалом, например: http://kb.mista.ru/article.php?id=865
11. Angeros 22.06.12 13:40 Сейчас в теме
Все классно тока в народе этот метод называется загрузка из екселя через ADO.
12. SergDi 27.06.12 10:24 Сейчас в теме
ага, можно как загружать так и выгружать :)
13. пользователь 07.09.12 11:58
Сообщение было скрыто модератором.
...
14. scanner1980 267 03.03.13 11:59 Сейчас в теме
Хорошо и быстро работает.

При выборе файла желательно чтоб отбор по типу стоял.

Было бы неплохо видеть выбор куда выводить в таблицу значений или табличный документ. Ну а можно и стразу в регистр справочник ))
17. nghtmn_cmth 9 04.08.15 16:10 Сейчас в теме
Как наложить условие что ячейка по определенной колонке не равна 0?
Для отправки сообщения требуется регистрация/авторизация