Конвертирование и сохранение нескольких EXCEL файлов с разной структурой одним архивом

Задача состоит в том, что бы имея только внутренние таблицы, сделать конвертацию их в EXCEL файл, затем эти файлы собрать в один zip архив.

  1. Создадим таблицы, я использую динамический подход. Он удобен тем, что на ходу можно создавать таблицы любой структуры например используя метод cl_alv_table_create=>create_dynamic_table.

В <tab1>…<tab4> находятся внутренние таблицы с разными структурами. Заполним их как-нибудь из базы данных либо в ручную.

2.Следующим шагом необходимо каким-то образом преобразовать внутреннюю таблицу в EXCEL файл, а затем преобразовать его в байтовый массив. Для решения этой задачи, я нашел хорошую статью.

Данное решение отлично работает, продублируем его, добавив не большой штрих.

Вызовем метод с нашими таблицами, для получения XSTRING.

3. Далее создаем ZIP архив

4. Последним шагом спрашиваем у пользователя директорию и сохраняем файл на компьютере.

В итоге на компьютере сохранится архив с 4-мя excel файлами. Используя более структурированный подход к динамичному программированию в ABAP, нежели в этом примере, можно создавать архивы с файлами любого содержания и структур, при этом не затрачивая сотни строк.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *