XLS Templating: различия между версиями
Gushina (обсуждение | вклад) |
Gushina (обсуждение | вклад) м (→Высота ячейки) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | = Механизм шаблонизации XLS = | + | =Механизм шаблонизации XLS= |
Механизм шаблонизации позволяет создать заранее шаблон будущего XLS файла, прописав в нем все неизменяемые данные, оформление, форматирование, а так же указать переменные, которые при генерации будут заменены на реальные данные. По умолчанию переменные указываются в фигурных скобках, например, {ORDER_ID} - при обработке заменится на номер заказа. | Механизм шаблонизации позволяет создать заранее шаблон будущего XLS файла, прописав в нем все неизменяемые данные, оформление, форматирование, а так же указать переменные, которые при генерации будут заменены на реальные данные. По умолчанию переменные указываются в фигурных скобках, например, {ORDER_ID} - при обработке заменится на номер заказа. | ||
− | == Вставка строк в цикле == | + | ==Вставка строк в цикле== |
Некоторые строки файла содержат похожую информацию и должны быть продублированы с незначительными изменениями. Яркий пример - позиции заказа. Для записи шаблона таких строк применяется следующий принцип: в файле-шаблоне формируется одна строка-пример, содержащая все необходимые шаблоны и форматирование. В первой ячейке такой строки должна стоять переменная-индентификатор мультистрочности. На примере позиций заказа, это {POSITIONS}. При обработке файла, такая строка будет продублирована такое количество раз, сколько позиций содержит заказ. | Некоторые строки файла содержат похожую информацию и должны быть продублированы с незначительными изменениями. Яркий пример - позиции заказа. Для записи шаблона таких строк применяется следующий принцип: в файле-шаблоне формируется одна строка-пример, содержащая все необходимые шаблоны и форматирование. В первой ячейке такой строки должна стоять переменная-индентификатор мультистрочности. На примере позиций заказа, это {POSITIONS}. При обработке файла, такая строка будет продублирована такое количество раз, сколько позиций содержит заказ. | ||
Строка 9: | Строка 9: | ||
[[Файл:Xls_templating_sample.png]] | [[Файл:Xls_templating_sample.png]] | ||
− | == Условие наличия переменной == | + | ==Условие наличия переменной== |
{IF VALUE_NAME}бла-бла{ORDER_ID}{/IF} | {IF VALUE_NAME}бла-бла{ORDER_ID}{/IF} | ||
Строка 18: | Строка 18: | ||
'''Обратите внимание, что условие внутри другого условия не поддерживаются!''' | '''Обратите внимание, что условие внутри другого условия не поддерживаются!''' | ||
− | == Расширенное условие наличия переменной == | + | ==Расширенное условие наличия переменной== |
<pre>{IF VALUE_NAME}{ORDER_ID}{ELSE}бла-бла{/IF}</pre> | <pre>{IF VALUE_NAME}{ORDER_ID}{ELSE}бла-бла{/IF}</pre> | ||
Строка 25: | Строка 25: | ||
Может располагаться в любом месте. | Может располагаться в любом месте. | ||
− | == Условие видимости строки == | + | ==Условие видимости строки== |
<pre>{IFSHOWROW VALUE_NAME}</pre> | <pre>{IFSHOWROW VALUE_NAME}</pre> | ||
Строка 33: | Строка 33: | ||
− | == Вставка формул == | + | ==Вставка формул== |
{FORMULA}=ADDRESS(ROW(),COLUMN()){/FORMULA} | {FORMULA}=ADDRESS(ROW(),COLUMN()){/FORMULA} | ||
Вставляет формулу в ячейку. Формула должна быть записать в en-локале, т.е. разделитель операций запятая (,), а не точка с запятой (;). | Вставляет формулу в ячейку. Формула должна быть записать в en-локале, т.е. разделитель операций запятая (,), а не точка с запятой (;). | ||
− | == Принудительно установить ячейке текстовый формат == | + | ==Принудительно установить ячейке текстовый формат== |
Бывают случаи, когда темплейтер самовольно устанавливает числовой формат для ячеек содержащих число длинее 19 знаков. В таком случае в шаблон ячейки надо добавить ключевое слово SETSTRING | Бывают случаи, когда темплейтер самовольно устанавливает числовой формат для ячеек содержащих число длинее 19 знаков. В таком случае в шаблон ячейки надо добавить ключевое слово SETSTRING | ||
{SETSTRING} | {SETSTRING} | ||
− | == Высота ячейки == | + | ==Высота ячейки== |
− | + | Можно настроить автоматическое увеличение высоты ячейки в зависимости от содержания. Для этого в ячейку перед переменной добавить: | |
− | <pre>{CHECK_HEIGHT=X}</pre> | + | <pre>{CHECK_HEIGHT=X;Y;Z}</pre> |
− | где X - высота в пикселях. | + | где X - высота в пикселях; Y - кол-во символов на одной строке; Z - максимальное кол-во строк (по умолчанию: 3). Значение Z можно не указывать, достаточно указать высоту и кол-во символов. |
+ | ===Пример=== | ||
+ | Размер шрифта в печатной форме "Счет" - 8pt. В одну строку ячейки "Описание" помещается 40 символов. Описание товара состоит из 85 символов. В ячейку для описания товара добавили параметры ячейки и переменную описания POSITION_NAME: | ||
+ | <pre>{CHECK_HEIGHT=10;40}{POSITION_NAME}</pre> | ||
+ | При длине описания в 85 символов, высота ячейки будет 10 * ОКРУГЛИТЬ_ВВЕРХ(85 / 40) = 30 пикселей, 3 строки. | ||
− | + | Высота шрифта в пикселях для справки: | |
− | |||
− | + | [[Файл:Высота шрифта в px.png]] | |
− | |||
− | |||
− | + | Подойдет соответствующее значение в пикселях или минус 1px. | |
− | |||
− |
Текущая версия на 16:01, 26 июля 2021
Механизм шаблонизации XLS
Механизм шаблонизации позволяет создать заранее шаблон будущего XLS файла, прописав в нем все неизменяемые данные, оформление, форматирование, а так же указать переменные, которые при генерации будут заменены на реальные данные. По умолчанию переменные указываются в фигурных скобках, например, {ORDER_ID} - при обработке заменится на номер заказа.
Вставка строк в цикле
Некоторые строки файла содержат похожую информацию и должны быть продублированы с незначительными изменениями. Яркий пример - позиции заказа. Для записи шаблона таких строк применяется следующий принцип: в файле-шаблоне формируется одна строка-пример, содержащая все необходимые шаблоны и форматирование. В первой ячейке такой строки должна стоять переменная-индентификатор мультистрочности. На примере позиций заказа, это {POSITIONS}. При обработке файла, такая строка будет продублирована такое количество раз, сколько позиций содержит заказ.
Выглядеть в шаблоне будет так:
Условие наличия переменной
{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;Y;Z}
где X - высота в пикселях; Y - кол-во символов на одной строке; Z - максимальное кол-во строк (по умолчанию: 3). Значение Z можно не указывать, достаточно указать высоту и кол-во символов.
Пример
Размер шрифта в печатной форме "Счет" - 8pt. В одну строку ячейки "Описание" помещается 40 символов. Описание товара состоит из 85 символов. В ячейку для описания товара добавили параметры ячейки и переменную описания POSITION_NAME:
{CHECK_HEIGHT=10;40}{POSITION_NAME}
При длине описания в 85 символов, высота ячейки будет 10 * ОКРУГЛИТЬ_ВВЕРХ(85 / 40) = 30 пикселей, 3 строки.
Высота шрифта в пикселях для справки:
Подойдет соответствующее значение в пикселях или минус 1px.