Как сохранить табличный документ в формате XLS
В 1С:Предприятии 8 команда меню «Файл-Сохранить как…» предоставляет возможность сохранения табличного документа только в «родном» формате табличного документа. Для сохранения в форматах XLS, HTML, а также текстовом формате и формате табличного документа 1С:Предприятия 7.7 следует использовать пункт меню «Файл-Сохранить копию…».
Начиная с версии 8.1.5, предоставляется возможность сохранять табличные документы в формате Лист Excel 97 . Для этого следует использовать команду » Файл-Сохранить копию… » и выбрать нужный формат в списке типов (Save as type).
Простой способ выгрузки в таблицу Excel
Кладовщику нужно выгрузить список всей номенклатуры, у которой не установлена пометка удаления. Поля для выгрузки:
- Наименование.
- Артикул.
- Вид номенклатуры.
- Тип номенклатуры.
Вот так будет выглядеть таблица Excel после выгрузки:

Рассмотрим два способа решения: без программирования и с участием программиста.
Программируем
Чтобы выгрузить номенклатуру в XLS-файл сформируем запрос к базе данных для получения номенклатуры и поместим результат в табличную часть обработки выгрузки. Вот форма обработки:

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

Полный код обработчика кнопки «Сохранить» представлен на следующем листинге:
Процедура ОсновныеДействияФормыДействие(Кнопка) // Вызываем диалог выбора файла для сохранения XLS-таблицы Режим = РежимДиалогаВыбораФайла.Сохранение; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; Текст = "ru = ""Таблица XLS""; en = ""XLS table"""; Фильтр = НСтр(Текст)+"(*.xls)|*.xls"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.Заголовок = "Выберите путь для сохранения"; Если ДиалогОткрытияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Текст = "Путь сохранения не выбран!"; Предупреждение(Текст); Возврат; КонецЕсли; // Создаем табличный документ ТаблицаСохранение = Новый ТабличныйДокумент; // Получаем макет заполнения и области макета Макет = ЭтотОбъект.ПолучитьМакет("ТаблицаВыгрузки"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); // Выводим данные в табличный документ ТаблицаСохранение.Вывести(ОбластьШапка); Для Каждого Стр Из ДанныеВыгрузки Цикл ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Стр); ТаблицаСохранение.Вывести(ОбластьСтрока); КонецЦикла; // Сохраняем табличный документ на диск ТаблицаСохранение.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS); КонецПроцедуры
После сохранения, на диске буде файл таблицы Excel со списком выгруженной номенклатуры. Пример файла Вы могли видеть в начале статьи.
Пользователь может сам
На самом деле участи программиста для подобной задачи не нужно. Пользователь все сам может сделать без каких-либо хитростей.
Например, перейдя в список номенклатуры и выполнив команду «Все действия» -> «Вывести список» из списка номенклатуры, пользователь получит список номенклатуры в сформированном табличном документе.

После того, как табличный документ будет сформирован, нажав на кнопку «Сохранить» или через меню «Файл->Сохранить» пользователь может записать табличный документ в файл XLS указав его имя и конечный каталог.

Вот и все! Никакой обработки для выгрузки не нужно. Конечно, если у вас достаточно простой случай с выгрузкой данных.
Так все просто?
Действительно все просто, никаких внешних компонент подключать не нужно. К тому же, мы можем выполнить выгрузку таким способом не только в файлы формата таблиц Excel, но и другие форматы, поддерживаемые платформой.

Обработку с примером из статьи Вы можете скачать по ссылке .
Табличный документ в формате Excel программно
Всем привет. Подскажите пожалуйста как программно сохранить табличный документ в файл формата Excel. ТЕ пользователь нажимает печать. формируется печ. форма и сразу сохраняется в формата Excel.
По теме из базы знаний
- Универсальная загрузка данных формата Excel
- 1С:Документооборот как прикладное решение оптимизации кадровых бизнес-процессов в организации
- Сохранение данных табличных частей форм в Excel
- Помощник перехода на 1С из других систем (SAP, Флагман и прочие)
- Как сохранить любой табличный документ в excel так, чтобы даты сохранились как даты?
- Дата
- Дата
- Рейтинг всех уровней
- Рейтинг 1-го уровня
- Древо развёрнутое
- Древо свернутое
Свернуть все
2. 1cUserAndrew 63 16.03.12 14:16 Сейчас в теме
ТабДокумент.Записать(«С:\ИмяФайла.xls», ТипФайлаТабличногоДокумента.XLS);
user1367144; anosin; se14ine; qu_bert; user1619761; dehro; user817897; Mariya_vrn; CXY; maksa2005; CratosX; dhonid@yandex.ru; SilverFalconi; Olenevod; orfos; ytpyfqrf; Nelli_A86; Afa_fil; rayastar; Vary; Sirchik; Manticor; Baibolaika; Tsprogrammist1; + 24 – Ответить
5. zhuravlev_as 390 07.06.13 14:49 Сейчас в теме
(2) 1cUserAndrew, а в регламентном задании выполняемом на сервере поддерживается имя файла на общедоступной файле на другом кмопе?
6. DenisCh 07.06.13 14:52 Сейчас в теме
(5) apostal86, если у пользователя системы, под которым работает сервер 1с, есть туда права, то да
3. Ezhik5514 16.03.12 14:20 Сейчас в теме
Надо просто записать табличный документ, указав тип файла.
ТабличныйДокумент = Новый ТабличныйДокумент();
ТабличныйДокумент.Записать(«D:\1cv82\Разработка\Excel\1.xls», ТипФайлаТабличногоДокумента.XLS);
Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL
ТипФайлаТабличногоДокумента (SpreadsheetDocumentFileType)
Значения
ANSITXT (ANSITXT)
DOCX (DOCX)
HTML (HTML)
HTML3 (HTML3)
HTML4 (HTML4)
MXL (MXL)
MXL7 (MXL7)
ODS (ODS)
PDF (PDF)
TXT (TXT)
XLS (XLS)
XLS95 (XLS95)
XLS97 (XLS97)
XLSX (XLSX)
qu_bert; user1619761; SilverFalconi; RodinMax; ytpyfqrf; Afa_fil; Vary; SVS-Computers; gradi; Tsprogrammist1; + 10 – Ответить
Как выгрузить табличный документ в excel


Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=» D: