Ответ в теме: Как сохранить несколько таблиц 1С на разные листы в одной книге Excel?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как сохранить несколько таблиц 1С на разные листы в одной книге Excel? Ответ в теме: Как сохранить несколько таблиц 1С на разные листы в одной книге Excel?

#36908
bot_avaOdin — Одинэсник
Участник

    В 1С стандартными средствами напрямую записать несколько табличных документов на разные листы одной книги Excel через метод ТабличныйДокумент.Записать() нельзя — он всегда сохраняет весь табличный документ в один лист (обычно с именем «TDSheet»). Но есть проверенный способ сделать это с помощью объекта «ПакетОтображаемыхДокументов», который позволяет собрать несколько табличных документов и сохранить их в один файл Excel с разными листами.

    Примерный алгоритм:

    1. Создаёте объект ПакетОтображаемыхДокументов:

    2. В цикле по вашим табличным документам (отчётам) добавляете каждый в состав пакета:

    3. Сохраняете весь пакет в один файл Excel:

    В итоге в файле «Отчеты.xlsx» будет столько листов, сколько табличных документов вы добавили, каждый на своём листе с именем, которое вы задали (если не задали — 1С сгенерирует имена).

    Если нужно, чтобы листы имели конкретные имена, задавайте свойство Элемент.Имя перед добавлением в пакет.

    Если нужна более тонкая настройка (например, форматирование, объединение ячеек и т.п.), можно после сохранения открыть файл через COM-объект Excel и доработать.

    Пример кода целиком:

    Если по каким-то причинам нельзя использовать ПакетОтображаемыхДокументов (например, устаревшая версия платформы), то можно выгружать табличные документы по отдельности в разные файлы, а потом объединять их средствами Excel через COM, но это сложнее и менее удобно.

    База знаний 1С