Пример сохранения плоской таблицы в файл Excel

08.06.22

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

В обработке приводится пример формирования итогового файла с помощью попарного объединения.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Пример сохранения плоской таблицы в файл Excel:
.epf 10,82Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

Недавно мне пришлось решать следующую задачу. Выгрузить в плоскую таблицу агрегированные данные по документам реализации за большой период.  От решения в лоб, когда запросом выбирались данные за весь период, я отказался  по причине того, что сохранение полученного  табличного документа в файл в формате Excel могло вызвать большой расход памяти на сервер.  Поэтому исходный период был разбит на более мелкие интервалы, для каждого из которых формировался отдельный файл. Склеивание общего файла выполнялось с помощью рекуррентной функции попарного соединения начальных и промежуточных файлов. Схема, приведенная в заголовке статьи, иллюстрирует данный процесс за исключением того, что стрелки должны быть направлены снизу вверх. Интерес может представлять именно эта функция. На вход функции подается массив, содержащий пути к промежуточным файлам, которые расположены в порядке создания и, как следствие, интервалов. Второй параметр это ссылка на com соединение с Excel.

Функция ОбъединитьФайлыПопарно(вхМассив,Excel)
	
	если вхМассив.ВГраница()=1 тогда
		возврат истина;
	конецесли;
	
	нМакс=(вхМассив.ВГраница()-вхМассив.ВГраница()%2);
	мМассив=новый массив;
	мМассив.Добавить();
	
	инфо=новый СообщениеПользователю;
	
	для н=1 по нМакс цикл
		СоединитьФайлы(вхМассив[н],вхМассив[н+1],Excel);
		УдалитьФайлы(вхМассив[н+1]);
		инфо.Текст="удален файл "+вхМассив[н+1];
		инфо.Сообщить();
		мМассив.Добавить(вхМассив[н]);
		н=н+1;
	конеццикла;	
	
	если нМакс<вхМассив.ВГраница() тогда
	  СоединитьФайлы(вхМассив[нМакс-1],вхМассив[нМакс+1],Excel);
	  УдалитьФайлы(вхМассив[нМакс+1]);
	  инфо.Текст="удален файл "+вхМассив[нМакс+1];
	  инфо.Сообщить();
    конецесли;
  
    ОбъединитьФайлыПопарно(мМассив,Excel);

КонецФункции

Приложенная обработка не привязана к какой-либо конфигурации. Симулируется генерация данных на каждый день указанного интервала, при этом в итоговой таблице строки, в которых в колонке Номер стоит простое число, выделяются цветом. Имя итогового файла InfoStart.xls  зашито в коде. Все промежуточные файлы создаются во временном каталоге на сервере с последующим удалением. Информация об удаленных файлах выводится в окно сообщений. Вид итоговой таблицы приведен ниже. После завершения процедуры формирования общего файла программа пытается открыть его с помощью команды НачатьЗапускПриложения

Тестирование обработки выполнялось на платформе 1С:Предприятие 8.3 (8.3.14.1976) и 1С:Предприятие 8.3 (8.3.18.1616). Для  работы в клиент-серверном варианте на сервере должен быть установлен Excel. 

 

Вид итогового файла

 

Форма обработки содержит два поля - Каталог и Период. Формирование итогового файла выполняется по команде Сохранить.  Так как эмулируется вывод данных за каждый день, то указывать большой интервал нецелесообразно.

 

Форма обработки

Сохранение больших данных

См. также

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    234098    1062    898    

1003

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

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

2400 руб.

12.08.2021    35486    348    68    

155

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    106905    313    173    

326

Загрузка и выгрузка в 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.10.2024, версия 9.8 - 9.13)

15600 руб.

20.11.2015    156042    378    378    

513

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

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

4800 руб.

09.12.2020    25342    252    1    

114

SALE! 15%

Загрузка и выгрузка в 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 9435 руб.

29.10.2014    216743    657    527    

456
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 815 08.06.22 14:52 Сейчас в теме
А не быстрее ли будет, если большой результат запроса сразу в COM выгружать?
2. scientes 295 08.06.22 15:39 Сейчас в теме
(1) Сравнения различных методов выгрузки не делал. Пока устраивает данных подход.
Оставьте свое сообщение