Простая выгрузка в Excel
Простой способ получить отчет, форму списка справочника или табличную часть документа в Excel одной кнопкой.
- Описание
- Подробнее
Описание
Навеяло //sale.itcity.ru/public/57697/ и //sale.itcity.ru/public/57876/ и прочим. На больших таблицах не проверял, информации много, например, здесь: http://www.infostart.ru/public/14186/
Очередные клиенты хотели отчет сразу в Excel. Другим надо было выбрать контрагентов по условию в виде файла для микрософт-офиса. Кто чего еще хотел подобное, уж и не помню. Некоторые пользовались меню Файл->СохранитьКак, но не знали как. Вот еще вариант решения.
На форме помещаю флажок «ВыгрузитьВExcel». В конце процедуры Печать() надо вставить проверку, куда выводим. Примерно такой кусок кода должен быть после обычного заполнения таблицы вместо Таб.Показать():
Таб.Опции(,,3);
Таб.ПараметрыСтраницы(2,,,,,,,,,1); //печатаем горизонтально
Таб.ТолькоПросмотр(1);
Если ВыгрузитьВExcel = 1 тогда
ПолноеИмяФайла = КаталогИБ() + «СводныйОтчет.xls»;
Если ФС.СуществуетФайл(ПолноеИмяФайла) = 1 Тогда
ФС.УдалитьФайл(ПолноеИмяФайла);
КонецЕсли;
Таб.Записать(ПолноеИмяФайла, «XLS»);
Excel = СоздатьОбъект(«Excel.Application»);
Excel.WorkBooks.Open(ПолноеИмяФайла);
Excel.Visible = 0;
Excel.Columns.AutoFit();
Range = Excel.Range(Excel.Cells(1, 1), Excel.Cells(1, 6));
Range.Select();
Range.AutoFilter();
Excel.Visible = 1; //для экпериментаторов можно по другому:
//ЗапуститьПриложение(ПолноеИмяФайла);
Иначе
Таб.Показать(«СводныйОтчет»,«»);
КонецЕсли;
КонецПроцедуры //Печать()
Буду рад, если кому пригодится.