Капитально об программе 1С 8.0-8.3-8.4, 7.7

Как из 1С выгрузить в excel

Платформы 1С имеют встроенный функционал для сохранения данных в Excel. Обычно этой возможности достаточно для выгрузки, в противном случае возможно использование Com-объект «Excel.Application». В данной статье рассмотрим различные способы выгрузки данных в эксель.

Выгрузка в 1С из v7.7 стандартными средствами

Сохранение в эксель в 7.7 возможно только сформированных табличных документов, например отчетов.

После того, как отчет формирован, нажимаете меню «Файл\Сохранить как»:

Далее следует задать имя файла (если не подходит предложенное системой), путь сохранения и поменять тип на Таблица Excel:

Всё! Данные  в 1С выгружены:

Выгрузка данных из 1С v. 8.3 (8.2, 8.1)

Производится также из табличного документа, но платформа умеет выводить в табличный документ списочные данные.

Начнем с этого.

В демо базе, открываем справочник клиенты, в меню «Все действия» нажимаем «Вывести список…»

Данная команда позволяет вывести видимые колонки.

В обычных формах данную команду можно вызвать правой кнопкой на списке.

В следующем диалоге выбираем нужные колонки:

В результате сформируется табличный документ, который доступен для сохранения.

Далее, нажимаем на кнопку сохранения, в котором меняем тип файла на «Лист Excel»: 

или через меню «Файл\Сохранить»

Обратите внимание: восьмерка более современная, для сохранения доступен более широкий список форматов.

Также следует заметить:

Выгрузка в Excel доступна также через функционал БСП (библиотеки стандартных подсистем), который используется в большинстве типовых решений 1С.

Например из отчета «Остатки ТМЦ» в управлении торговлей 11.2: 

Сохранение в Excel программным путем

Вариант 1: вызов сохранения табличного документа

У табличного документа есть метод «Записать», параметрами которого выступает ТипФайлаТабличногоДокумента

Код:

ТабличныйДокумент = Новый ТабличныйДокумент;
//Заполнение табличного документа
Область = ТабличныйДокумент.Область(1,1,1,1);
Область.Текст = "Заголовок H1";
//Сохранение табличного документа
ТабличныйДокумент.Записать(ТипФайлаТабличногоДокумента.XLS,);

 

Вариант 2: использование объекта Excel.Aplication

Данная возможность доступна в среде Windows, желательно исполнение данного кода на стороне клиента, либо требуется дополнительная настройка серверной части.

Далее, простой код для записи данных в Excel (специально не усложняем, ничего лишнего. Явно к 1с относится только 2 строка, остальное это использование методов и свойств объекта Excel.Application, документация по которому доступна на сайте микрософт):

ПолноеИмяФайла = «C:\123.xls»;
 
КнигаЭксель = Новый COMОбъект(«Excel.Application»);
КнигаЭксель.WorkBooks.Open(ПолноеИмяФайла);
 
//Скроем отображение
КнигаЭксель.Visible = 0;
 
//показывать вкладки листов в книге
КнигаЭксель.ActiveWindow.DisplayWorkbookTabs = 1;
КнигаЭксель.ActiveWindow.TabRatio = 0.6;
 
//не показывать сообщения об ошибках — иначе застопорит сохранение
КнигаЭксель.DisplayAlerts = Ложь;
 
Лист = КнигаЭксель.WorkSheets(1);
 
НомерСтроки = 1;
НомерКолонки = 1;
 
//Установим содержимое одной ячейки
Ячейка = Лист.Cells(НомерСтроки,НомерКолонки);
Ячейка.Value = «Заголовок»;
 
//Сохраняем
КнигаЭксель.ActiveWorkbook.SaveAs(ПолноеИмяФайла, 18);
 
// 18 — xls 97-2003
// 51 — xlsx 2007-2013
// Закрываем программу 
КнигаЭксель.Application.Quit();