gifts2017

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

Опубликовал Михаил Русанов (RainyAugust22) в раздел Обмен - Загрузка и выгрузка в Excel

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

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

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

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

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

  1. Создаем внешнюю обработку и по кнопке "Выполнить" прописываем туда следующий код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НоменклатурныеГруппы.Код,
    |    НоменклатурныеГруппы.Наименование
    |ИЗ
    |    Справочник.НоменклатурныеГруппы КАК НоменклатурныеГруппы
    |ГДЕ
    |    НЕ НоменклатурныеГруппы.ЭтоГруппа
    |    И НЕ НоменклатурныеГруппы.ПометкаУдаления";
    
    Результат = Запрос.Выполнить().Выгрузить();
    ТабДок = ПолучитьМакет("Макет");
    ОбластьПараметров = ТабДок.ПолучитьОбласть("Строки");
    Для Каждого Стр Из Результат Цикл
        ОбластьПараметров.Параметры.Код = Стр.Код;
        ОбластьПараметров.Параметры.Наименование = Стр.Наименование;
        ТабДок.Вывести(ОбластьПараметров);
    КонецЦикла;
    Попытка
        ТабДок.Записать("C:\Users\UserName\Documents\Example.xls", ТипФайлаТабличногоДокумента.XLS);
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры
  1. Добавляем в обработку макет и в нем объявляем область и параметры.

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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Пример выгрузки из 1С в Excel
.epf 7,63Kb
31.08.12
60
.epf 7,63Kb 60 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Armando Armando (Armando) 31.08.12 20:13
2. Дэвид Сариф (DavidSarif) 31.08.12 23:41
Просто в лоб сохранить как экселевский файл это красиво и просто . Понадобилось - сам дописал и все . И никакие обработки нигде искать не надо , ни на диске ИТС ни где-либо еще . Будем иметь ввиду , респект)
3. Денис (Den_D) 05.09.12 09:13
В таком способе единственное что не возможно создать файл с несколькими заполненными листами. Или я чего то не знаю.
4. Doomino (Doomino) 05.09.12 10:40
В некоторых случаях такой вариант даже удобнее COMObject. Например, когда нужно вывести красивую шапку, заголовки и прочее да еще с форматированием, что за секунды рисуется на макете, но нудно прописывать программно.
5. mxm2 mxm2 (mxm2) 05.09.12 11:36
Данная возможность документирована для табличного документа аж с версии 7.5... )))

ощущаю, что все программируют, даже не читая желтых книжек... я получается - книжный червь )))
6. Юрий Патласов (NoRazum) 05.09.12 11:47
Есть два отчета. Может ли 1с сохранить их в один Exsel файл вкладками?
7. Андрей Мазнов (strenuus) 05.09.12 12:49
(6) NoRazum, я намучился пытаясь это реализовать. Тоже была такая необходимость. В итоге плюнул и выгружал через COM.
А вообще способ простой и хороший, только далеко не всем подойдет.
Если все таки есть возможность создавать один файл с вкладками, то просветите неопытных.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа