Каталог решений - Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

В наличии

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

Категория:

Описание

В данной статье будет приведен пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки произвольной таблицы в документе (или таблиц, если в документе их несколько).
Сразу уточню, что функция не тестировалась на очень объемных документах, поэтому, если кто-то проведет такое испытание, пожалуйста, напишите результаты в комментариях.

Задача состояла в следующем: 
1) выводить не очень большой табличный документ (до 30 листов) с несколькими таблицами,
2) на каждой странице в колонтитуле добавлять нумерацию (если страниц больше одной) и картинку (QR-код) (в том числе корректно выводить нижний колонтитул на последней странице),
3) если какие-либо из таблиц переносились на следующую страницу, необходимо было производить повтор шапки переносимой таблицы, при этом не допустить, чтобы на предыдущей странице осталась только шапка без хотя бы одной строки данных в ней,
4) предусмотреть возможность вывода произвольного верхнего колонтитула (изначально макетом заложен не был).

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

Статей на данную тему с примерами вывода колонтитулов и повторов шапки таблицы в интернете, в том числе и здесь на Инфостарте довольно много. Однако, когда возникла описанная выше задача, готового варианта реализации всех названных условий не нашлось (лишь фрагментарно), поэтому был написан некий свой универсальный вариант.
Основным источником идеи для алгоритма был этот пост на Инфостарте от Игоря (за что ему большое спасибо!) под названием "Что делать если в табличный документ нужно выводить колонтитулы с картинками".

Привожу код получившейся основной рекурсивной функции вывода в табличный документ колонтитулов и повторения шапки таблицы:

 

has been added to your cart:
Оформление заказа