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

20.06.12

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ЗагрузкаИзЕксельВ82.epf
.epf 8,18Kb
171
171 Скачать (1 SM) Купить за 1 850 руб.

При загрузке данных из 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");
        Возврат;
    КонецПопытки;

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

См. также

SALE! 20%

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

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    235478    1066    898    

1006

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 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С:КА 2, 1С:ERP Управление предприятием. Возможность подключить любые маркетплейсы. Анализ продаж ОZON. 30 дней БЕСПЛАТНОГО пользования!

3600 руб.

12.08.2021    35879    357    68    

159

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 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 форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.12.2024, версия 9.8 - 9.13)

15600 руб.

20.11.2015    156570    376    378    

512

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

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

11100 руб.

29.10.2014    217099    659    527    

457

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

Загрузка данных отчета о реализации товаров из сервиса "Детский мир" для конфигурации 1С: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

23.01.2022    11241    55    0    

38

SALE! 30%

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

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    107632    313    173    

326
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 131 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 268 03.03.13 11:59 Сейчас в теме
Хорошо и быстро работает.

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

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