Простой и быстрый способ выгрузки из 1C в Excel без использования COMОбъект Excel.Application

Как просто выгрузить данные из 1С в Excel? Простой и быстрый способ выгрузки из 1C в Excel без использования COMОбъект Excel.Application

Привет. Возможно для кого-то не «нова»,  но статей с подобным способом выгрузки не увидел. Пришла такая идея, когда нужно было по-быстрому выгрузить нужные данные, а разбираться с «большими» примерами кода для выгрузки в Excel использующими COMОбъект «Excel.Application» не было времени.

В 2-х словах, как это работает:

  1. Заполняем нужными данными табличный документ
  2. Сохраняем табличный документ в Excel или любой другой формат.

Как пример из Бухгалтерии 2.0:

  1. Создаем внешнюю обработку и по кнопке «Выполнить» прописываем туда следующий код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    НоменклатурныеГруппы.Код,
|    НоменклатурныеГруппы.Наименование
|ИЗ
|    Справочник.НоменклатурныеГруппы КАК НоменклатурныеГруппы
|ГДЕ
|    НЕ НоменклатурныеГруппы.ЭтоГруппа
|    И НЕ НоменклатурныеГруппы.ПометкаУдаления";

Результат = Запрос.Выполнить().Выгрузить();
ТабДок = ПолучитьМакет("Макет");
ОбластьПараметров = ТабДок.ПолучитьОбласть("Строки");
Для Каждого Стр Из Результат Цикл
ОбластьПараметров.Параметры.Код = Стр.Код;
ОбластьПараметров.Параметры.Наименование = Стр.Наименование;
ТабДок.Вывести(ОбластьПараметров);
КонецЦикла;
Попытка
ТабДок.Записать("C:UsersUserNameDocumentsExample.xls", ТипФайлаТабличногоДокумента.XLS);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
  1. Добавляем в обработку макет и в нем объявляем область и параметры.

  1. Нажимаем «Выполнить», в результате Excel-файлик заполняется нужными данными 🙂

7 Comments

  1. Armando

    del

    Reply
  2. DavidSarif

    Просто в лоб сохранить как экселевский файл это красиво и просто . Понадобилось — сам дописал и все . И никакие обработки нигде искать не надо , ни на диске ИТС ни где-либо еще . Будем иметь ввиду , респект)

    Reply
  3. Den_D

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

    Reply
  4. Doomino

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

    Reply
  5. mxm2

    Данная возможность документирована для табличного документа аж с версии 7.5… )))

    ощущаю, что все программируют, даже не читая желтых книжек… я получается — книжный червь )))

    Reply
  6. NoRazum

    Есть два отчета. Может ли 1с сохранить их в один Exsel файл вкладками?

    Reply
  7. strenuus

    (6) NoRazum, я намучился пытаясь это реализовать. Тоже была такая необходимость. В итоге плюнул и выгружал через COM.

    А вообще способ простой и хороший, только далеко не всем подойдет.

    Если все таки есть возможность создавать один файл с вкладками, то просветите неопытных.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *