Еще одна загрузка данных из Excel (или как окончательно забыть его методы)

17.11.12

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

С переодичностью раз в год, на меня падает задача, загрузить что-то эдакое из excel и каждый раз происходит мучительное вспоминание а как создать его COM, как там перебрать ячейки, найти "крайние", разобраться с форматированием... в какой-то момент лень таки победила и подкинула мне идею как перестать вспоминать - а именно: "Почему бы не загрузить файл целиком, в плоскую структуру, и потом просто выбрать данные запросом. Так родился этот справочник, встраиваемый в любую конфигурацию 8.2 c функционалом по загрузке excell файла в свои элементы.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Конфигурация с справочником
.cf 31,47Kb
167
167 Скачать (1 SM) Купить за 1 850 руб.
Примеры запросов для БП демо
.zip 8,06Kb
41
41 Скачать (1 SM) Купить за 1 850 руб.

Итак, после загрузки файлов(в форме выбора файлов используете множественный выбор) Вы получаете по одному элементу в справочнике для каждого файла, в табличной части которого, для каждой ячейки есть строка. Для каждой ячейки указано :

  • на каком листе она находится;
  • её координаты - номер строки и колонки в отдельных реквизитов;
  • текст который был в ячейке;
  • сумма или дата, в отдельных колонках, если в процессе загрузки они были распознаны;
  • формула забитая в ячейки;
  • цвет фона или шрифта.

Как мы можем всю эту радость использовать? Вам остается написать запрос который бы выбрал данные в нужной Вам форме и потом обработать результат. Лично я, для одноразовых загрузок использую консоль запроса с обработчиком, для чего-то более менее регулярного приходится накидывать уже более полноценные куски кода. 

 

Во вложении, я к обработке кинул демо excel файл и sel который на примере демо бухгалтерии демонстрирует простоту работы данной методики.

Например, меня очень радует что я могу запросами проверить корректность файлов. Например, что при заполнении бюджета использовали корректные наименования статей затрат из справочника и.т.п.

Теперь немного о минусах:

  • файл грузится целиком, что может увеличивать время обработки - согласитесь, но работать без посредника будет быстрее. На этот аргумент, моя лень чихала. ) говорит что для регулярных обменах, где необходима оперативность надобно работьс xml.
  • для чтения файлов использует COMОбъект("Excel.Application") соответсвенно, для работы с управляемыми приложениями на сервере(или вашей тачке, клиент таки толстый)  должен быть установлен MS Office. Но! если тема получит адекватный отзыв, моя лень заткнется и я перепишу что-бы читать xlsx напрямую.
В справочнике есть 2 набора форм, для Управляемого и Обычного приложения - устанавливайте по умолчанию как Вам необходимо в зависимости от ситуации.

См. также

SALE! 15%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 1C:Бухгалтерия 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С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.

6000 руб.

09.11.2016    241876    1113    906    

1042

Загрузка и выгрузка в 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 дней БЕСПЛАТНОГО пользования!

5400 руб.

12.08.2021    37810    404    68    

172

Загрузка и выгрузка в 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 форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 10.02.2025, версия 9.9 - 9.15)

16800 руб.

20.11.2015    159175    390    378    

519

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

Обработки загрузки данных о продажах WildBerries предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3

4800 руб.

11.12.2019    59344    1016    3    

253

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

Кто получает документы в формате XML из различных сервисов ЭДО (формат 820 приказ ФНС 31 мая 2019) и набивает их вручную в 1С, тот наверняка хотел бы автоматизировать этот процесс. Поддержка конфигураций: Бухгалтерии 3, УПП 1.3, 1С:КА 2.4 и 1С:КА 2.5, УТ10, УТ11.4 и УТ11.5. Для бухгалтерии 3 добавлена поддержка формат 5.03 от 23/01/2025

3600 руб.

11.02.2020    94620    319    157    

232

SALE! 30%

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

Загружает данные по Акту приемки товара от ООО «Вайлдберриз» (поставок), полученный из личного кабинета в формате *.xlsx или API (FBO, FBS) в документ "Реализация (акты, накладные, УПД)" для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Комплексная автоматизация 2; ERP 2 Управление предприятием и Управление нашей фирмой 3.0

4800 руб.

24.01.2021    21245    86    0    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. oberon355 15 18.11.12 19:16 Сейчас в теме
Очень красивое решение. Класс!!!
2. Yashazz 4827 19.11.12 13:25 Сейчас в теме
3. DitriX 2102 19.11.12 14:36 Сейчас в теме
Вот мне кажется, что если читать с хмл на прямую, то это было бы шикарно, иначе, как то не ахти.
5. Itilive.ru 43 19.11.12 14:38 Сейчас в теме
(3) DitriX,
спасибо за мнение.
4. Itilive.ru 43 19.11.12 14:37 Сейчас в теме
6. _LEV_ 19.11.12 17:37 Сейчас в теме
Мне кажется стоит поторговаться со своей совестью и прикрутить чтение файлов xlsx напрямую, не будет напрягов с наличием установленного пакета Office. Думаю, что идея оригинальна для нерегулярных загрузок.
7. Itilive.ru 43 19.11.12 19:16 Сейчас в теме
(6) _LEV_, Если сделаю, то выставлю за бабки. Так что либо мне либо майкрософту....
9. пользователь 19.11.12 20:11
Сообщение было скрыто модератором.
...
8. пользователь 19.11.12 20:09
Сообщение было скрыто модератором.
...
10. Itilive.ru 43 20.11.12 00:12 Сейчас в теме
(8) Ну да... каждый кулик свое болото хвалит... ;)
11. пользователь 20.11.12 00:42
Сообщение было скрыто модератором.
...
12. Иваныч 23 20.11.12 09:09 Сейчас в теме
А вообще автору плюс, т.к в любых идеях можно найти что-либо новое для каждого
13. vasko88 23 20.11.12 13:22 Сейчас в теме
Согласен - автору плюс. Как человек, допустим, который ищет подобную конкретную разработку, или просто идею, не вижу абсолютно никакого смысла лезть в какую-нибудь здоровую "самописную" подсистему, чтобы выделить в ней из кучи того что мне не нужно, малую толику того что нужно
14. vasko88 23 20.11.12 13:25 Сейчас в теме
Eugeneer, а среди доработок которые вы привели, есть что-то более "абстрактное", нежели загрузка прайсов?
Itilive.ru; +1 Ответить
15. AlX0id 20.11.12 13:40 Сейчас в теме
При наличии Ctrl-C + Ctrl-V из Excel в 1С, имхо, тратить время на написание каких-то там COM-соединений для загрузки пары файлов раз в год - бессмысленно..
Ежели у вас загрузка по расписанию - еще было бы понятно.. Но для единичных файлов..
EliasShy; адуырщдв; +2 Ответить
16. RomanUzmov 40 20.11.12 22:56 Сейчас в теме
(15) AlX0id, Что-то вообще не понял Вашего комментария. Каким образом Вы собираетесь перенести данные из Excel в базу 1С, используя буфер обмена?
18. nelse 21.11.12 05:40 Сейчас в теме
(16) RomanUzmov,
"При наличии Ctrl-C + Ctrl-V"
Это он пошутил.
21. AlX0id 21.11.12 10:28 Сейчас в теме
(16) RomanUzmov,
Создаете в обработке на форме табличный документ и тупо копируете туда данные Excel. В дальнейшем работаете только с этим табличным документом. Все. Никаких COM-объектов.
17. nelse 21.11.12 05:38 Сейчас в теме
Если бы Вы привели только одну функцию поиска в файле Excel нужного вам зачения (find), то
это решило бы все проблемы. Такой метод/способ ЕСТЬ.
А так... просто трата времени и ресурсов.
Сопряжение 1С и Excel давно размусолено до самых последних "битов".
Уж даже не знаю, что там ещё можно нового найти?
Ничего личного.
20. smielka 252 21.11.12 09:18 Сейчас в теме
1.Не работает в клиент-серверном варианте
2.Зачем нужен такой способ, если можно сразу обратиться запросом к экселю, считать нужные данные и не хранить их в базе
22. evrakylon 21.11.12 12:08 Сейчас в теме
На счет красоты решения и целесообразности ради этого внесения изменений в конфу еще можно подумать.
А ведь всего лишь нужно: 1) Кусок кода для COM подключения 2) Циклом создается ТЗ и заполняется. 3) Обработка таблицы - хоть запросом, хоть чем. При желании это все выносится в шаблон. Выращивать базу элементами с ТЧ в десятки тысяч строк, как это бывает в прайсах, может быть, и не надо.
23. Itilive.ru 43 21.11.12 12:30 Сейчас в теме
(22) evrakylon, (20) smielka,

Коллеги, очень хочется потролить, но лень,и еще раз отвечая на вопрос "А НАФИГА???" -
я не люблю(мне лень) писать код, особенно связанный с выборкой данных. Я люблю запросы, они созданны только именно для этого, я пишу их быстро и с удовольствием.

Все остальные моменты которые меня радуют даже перечислять не буду. В шапке я упоминал. Решение не универсально, предназначенно для тех кто предпочитает окну конфигуратора консоль запросов + обработка.

На в клиент сервере работает при наличии на сервере excellя, в моменте - мне проще пойти и заставить админов поставить excell, чем парсить структуру xlsx - уверен вам тоже.
Решение "As Is" и не претендует "на истину в первой инстанции".

Спасибо всем кому понравилось.
mip128; bxz; +2 Ответить
30. svetanik 6 29.10.13 20:09 Сейчас в теме
(23) Александр Серов, спасибо Александр за обработку, за идею! Можно хранить загруженные файлы (в смысле, из которых была загрузка). Чтобы потом была информация для "разбора полетов", когда, например, после загрузки задваивается номенклатура.
24. Zas1402 06.12.12 12:05 Сейчас в теме
А вообще автору плюс, т.к в любых идеях можно найти что-либо новое для каждого	


Согласен, для себя очень многое открыл.
25. eugen91 06.12.12 15:44 Сейчас в теме
Добрый день. А в чем принципиальное отличие от аналогичных ?
26. bxz 419 06.12.12 16:59 Сейчас в теме
да каждая вторая обработка на инфостарте чтото делает с exceLL !! где загрузка и обработка таблиц из GOOGLE DOCS - я считаю это просто необходимо добавить в это разработку !! АФТАР ДОБАВЬ ПОЖАЛУЙСТА !!!
29. mip128 17.06.13 12:43 Сейчас в теме
(26) bxz, Согласен, ваще вот прям!
Еще считаю нужным загрузки из ДБФ!!!
Так как меня все бесит!!!
27. oberon355 15 10.12.12 16:34 Сейчас в теме
Ну вот, накинулись на человека. А на самом деле идея не лишена изящества.
28. OLga_gab 16.02.13 13:52 Сейчас в теме
Мне тоже хочется на сторону разработчика новой обработки. Ставлю плюс и попробую использовать.
31. lelusha 05.02.14 11:17 Сейчас в теме
А какую-нить демо версию можно сделть бесплатную? или хоть примеры запросов для БД демо.
Оставьте свое сообщение