1.2.2. Шаблоны DOCX, DOC и ODT
Шаблон ODT создается с помощью OpenOffice / LibreOffice, для создания шаблонов DOC и DOCX можно использовать как OpenOffice, так и Microsoft Office.
Шаблон данного типа включает в себя текст документа и опционально одну или несколько таблиц. В тексте документа выводятся данные из первых строк произвольных полос. В таблицу можно выводить произвольное количество строк некоторой полосы.
Для вывода поля в тексте документа необходимо использовать строку вида ${band_name.field_name}, где band_name - имя полосы, field_name - имя поля.
Для вывода данных в таблицу она должна быть привязана к некоторой полосе. Это делается путем указания в первой ячейке таблицы строки вида ##band=band_name, где band_name - имя полосы. Поля в таблице размечаются строками вида ${field_name}, где field_name - имя поля связанной с таблицей полосы. Для обращения к полям других полос в таблице можно использовать префикс с именем полосы, как это делается в полях текста документа. В одной ячейке таблицы можно выводить несколько полей.
Вложенные гризонтальные полосы в формате DOCX, DOC и ODT не поддерживаются. Если вложенные полосы вам необходимы, предпочтительно использовать XLS(X)-шаблоны.
|  
       
        Warning 
         |  
      
       Таблица должна содержать либо одну, либо две строки. Если строк в таблице две, то поля связанной полосы должны находиться во второй строке. В первую заносится маркер с именем связанной полосы и, при необходимости, статический текст и поля других полос.  |  
    
Например, для вывода отчета, состоящего из двух полос: Book и Authors, первая из которых выводит название и жанр книги, а вторая список авторов этой книги, шаблон может выглядеть следующим образом:
 
  |  
       
        Warning 
         |  
      
       Формат ячеек для шаблонов DOCX, DOC и ODT не поддерживается. Рекомендуется приводить данные к строке в запросе. Например, для значения  
       можно выполнить следующее приведение:  
        |