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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36907
      Фото аватараOdineski
      Участник

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

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

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С