Открыть главное меню

XLS Templating: различия между версиями

Строка 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}</pre>
Строка 52: Строка 52:
 
Строку в ячейке можно разбить принудительно на несколько строк:
 
Строку в ячейке можно разбить принудительно на несколько строк:
 
<pre>{CHECK_HEIGHT=X;Y;Z}</pre>
 
<pre>{CHECK_HEIGHT=X;Y;Z}</pre>
где X - высота в пикселях; Y - кол-во символов на одной строке; Z - максимальное кол-во строк (по умолчанию: 3).
+
где X - высота в пикселях; Y - кол-во символов на одной строке; Z - максимальное кол-во строк (по умолчанию: 3). Значение Z можно не указывать, достаточно указать высоту и кол-во символов.  
  
Значение Z можно не указывать, достаточно указать высоту и кол-во символов. Например, в ячейку описания товара в печатной форме "Счет" можно внести следующие данные:
+
=== Пример ===
<pre>{CHECK_HEIGHT=13;100}{POSITION_NAME}</pre>
+
Размер шрифта в печатной форме "Счет" - 8pt. В одну строку ячейки "Описание" помещается 40 символов. Описание товара состоит из 85 символов. В ячейку для описания товара можно внести следующие данные:
При длине описания в 255 символов, высота ячейки будет 13 * ОКРУГЛИТЬ_ВВЕРХ(255 / 100) = 39 пикселей.
+
<pre>{CHECK_HEIGHT=10;40}{POSITION_NAME}</pre>
 +
При длине описания в 85 символов, высота ячейки будет 10 * ОКРУГЛИТЬ_ВВЕРХ(85 / 40) = 30 пикселей.
 +
 
 +
Высота шрифта в пикселях для справки:
 +
 
 +
[[Файл:Высота шрифта в px.png]]
 +
 
 +
Подойдет соответствующее значение в пикселях или минус 1px.
 +
 
 +
<br />

Версия 14:38, 26 июля 2021

Механизм шаблонизации 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)

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

{CHECK_HEIGHT=X;Y;Z}

где X - высота в пикселях; Y - кол-во символов на одной строке; Z - максимальное кол-во строк (по умолчанию: 3). Значение Z можно не указывать, достаточно указать высоту и кол-во символов.

Пример

Размер шрифта в печатной форме "Счет" - 8pt. В одну строку ячейки "Описание" помещается 40 символов. Описание товара состоит из 85 символов. В ячейку для описания товара можно внести следующие данные:

{CHECK_HEIGHT=10;40}{POSITION_NAME}

При длине описания в 85 символов, высота ячейки будет 10 * ОКРУГЛИТЬ_ВВЕРХ(85 / 40) = 30 пикселей.

Высота шрифта в пикселях для справки:

Высота шрифта в px.png

Подойдет соответствующее значение в пикселях или минус 1px.