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

Публикация № 149432

Обмен - Загрузка и выгрузка в Excel

19
Как просто выгрузить данные из 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-файлик заполняется нужными данными :)

19

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

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

См. также

Специальные предложения

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

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