XLS Templating

Материал из ABCP Documentation
Главная > XLS Templating
Перейти к: навигация, поиск

Механизм шаблонизации XLS

Механизм шаблонизации позволяет создать заранее шаблон будущего XLS файла, прописав в нем все неизменяемые данные, оформление, форматирование, а так же указать переменные, которые при генерации будут заменены на реальные данные. По умолчанию переменные указываются в фигурных скобках, например, {ORDER_ID} - при обработке заменится на номер заказа.

Вставка строк в цикле

Некоторые строки файла содержат похожую информацию и должны быть продублированы с незначительными изменениями. Яркий пример - позиции заказа. Для записи шаблона таких строк применяется следующий принцип: в файле-шаблоне формируется одна строка-пример, содержащая все необходимые шаблоны и форматирование. В первой ячейке такой строки должна стоять переменная-индентификатор мультистрочности. На примере позиций заказа, это {POSITIONS}. При обработке файла, такая строка будет продублирована такое количество раз, сколько позиций содержит заказ.

Выглядеть в шаблоне будет так:

Xls templating sample.png

Условие наличия переменной

{IF VALUE_NAME}бла-бла{ORDER_ID}{/IF}

Сработает, если переменная шаблона VALUE_NAME не будет пустой, втавит в ячейку текст "бла-бла{ORDER_ID}".

Может располагаться в любом месте.

Обратите внимание, что условие внутри другого условия не поддерживаются!

Расширенное условие наличия переменной

{IF VALUE_NAME}{ORDER_ID}{ELSE}бла-бла{/IF}

Сработает, если переменная шаблона VALUE_NAME не будет пустой, вставит в ячейку текст "{ORDER_ID}", иначе вставит текст "бла-бла".

Может располагаться в любом месте.

Условие видимости строки

{IFSHOWROW VALUE_NAME}

Если переменная VALUE_NAME пустая, строка с этим условием будет скрыта.

Может располагаться в любом месте.


Вставка формул

{FORMULA}=ADDRESS(ROW(),COLUMN()){/FORMULA}

Вставляет формулу в ячейку. Формула должна быть записать в en-локале, т.е. разделитель операций запятая (,), а не точка с запятой (;).

Принудительно установить ячейке текстовый формат

Бывают случаи, когда темплейтер самовольно устанавливает числовой формат для ячеек содержащих число длинее 19 знаков. В таком случае в шаблон ячейки надо добавить ключевое слово SETSTRING

{SETSTRING}

Высота ячейки

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

{CHECK_HEIGHT=X}

где X - высота в пикселях.

Если текст, вставленный в ячейку, содержит символы разделения строки, то высота строки будет найдена по следующей формуле:

общая высота ячейки = кол-во подстрок разделенных символами "\n" * указанная в шаблоне высота (X)