В этом примере показано, как создать таблицу с чередующимися цветными строками или столбцами. Эти таблицы называются зебра-полосатыми или полосатыми таблицами. Для создания таблицы с полосой зебры в отчете ее можно определить в программе или шаблоне. Примеры в этом разделе содержат строки с полосами зебры. Аналогичная методика используется для столбцов с полосами зебры.
API-интерфейсы генератора отчетов поддерживают создание таблиц с полосой зебр программным путем или с использованием шаблона Word или HTML. Невозможно создать отчет PDF для таблицы с полосами зебры с помощью шаблона PDF.

Эта программа создает магический квадратный стол 8 на 8. Он имеет цвета фона строк, которые чередуются между синим и белым, что может быть полезно для чтения и суммирования строк. Программа также включает форматирование для высоты строки, ширины таблицы, границ и выравнивания элементов ячейки.
import mlreportgen.report.* import mlreportgen.dom.* rpt = Report('zebraTable','pdf'); maglen = 8; mag = magic(maglen); tb = Table(mag); % Set the colors for alternating rows for i = 1:maglen r = tb.row(i); if mod(i,2)==0 r.Style = {BackgroundColor('lightsteelblue')}; else r.Style = {BackgroundColor('white')}; end end tb.Style={RowHeight('0.3in'),RowSep('solid'),ColSep('solid')}; tb.Width= '3in'; tb.TableEntriesVAlign = 'middle'; tb.TableEntriesHAlign = 'center'; tb.Border = 'single'; add(rpt,tb) close(rpt) rptview(rpt)
В этом примере показано, как добавить стиль таблицы в шаблон Word, определяющий таблицу с полосами зебры. Использование шаблона модулирует приложение. Вместо обновления программы, которое может привести к ошибкам, можно обновить шаблон.
1. Откройте шаблон Word. В этом примере файл шаблона - myrpt.dotx, который можно создать с помощью mlreportgen.report.Report.createTemplate('myrpt','docx'). Чтобы открыть файл шаблона Word, щелкните его правой кнопкой мыши и выберите в меню команду Открыть. (Если щелкнуть файл напрямую, откроется файл .doc, в котором используется этот шаблон.)
2. Откройте панель «Стили», как показано на рисунке.

3. На панели «Стили» нажмите кнопку «Новый стиль».

4. Чтобы определить стиль таблицы, укажите или выберите значения полей. Чтобы соответствовать программному примеру таблицы с полосой зебры, задайте следующие поля для применения элементов к строкам таблицы и таблицы:
Имя - Добавить ZebraStripeTable в качестве имени стиля. Это имя стиля используется для указания стиля, используемого для таблицы в программе.
Тип стиля - Table
Применить форматирование к - Even banded rows
Цветовое поле (No Color) - Выберите цвет для нечетных строк в раскрывающемся списке.
Затем задайте эти поля, чтобы применить эти дополнительные функции ко всей таблице:
Применить форматирование к - Whole table
Выравнивание - Align Center
Границы - All Borders

5. Нажмите «ОК» для сохранения нового стиля.
6. Сохранить файл шаблона
7. В программе укажите файл шаблона для использования, а затем можно применить новый стиль зебра-полосы к таблице в программе.
rpt = mlreportgen.dom.Document('myreport','docx','myrpt.dotx'); tb = Table(); tb.StyleName = 'ZebraStripeTable';
В Word доступны не все параметры форматирования, которые можно использовать в программе. Чтобы этот пример соответствовал программному примеру, помимо указания стилей в шаблоне Word, необходимо указать высоту строки и ширину таблицы в программе.
tb.Style = {RowHeight('0.3in')};
tb.Width = '3in';
Это полный код для использования шаблона Word, myrpt.dotx, чтобы отформатировать магический квадрат как зебра-полосатую таблицу.
import mlreportgen.report.* import mlreportgen.dom.* rpt = mlreportgen.report.Report('myreport','docx','myrpt.dotx'); maglen = 8; mag = magic(maglen); tb = Table(mag); tb.StyleName = 'ZebraStripeTable'; tb.Style={RowHeight('0.3in')}; tb.Width= '3in'; add(rpt,tb) close(rpt); rptview(rpt)
В этом примере показано, как добавить стиль таблицы в HTML-шаблон, определяющий таблицу с полосами зебры. Использование шаблона модулирует приложение. Вместо обновления программы, которое может привести к ошибкам, можно обновить шаблон.
1. Если у вас нет существующего HTML-шаблона, создайте его с помощью mlreportgen.report.Report.createTemplate('myrpt','html'). В этом примере файл шаблона находится в архивированном пакете шаблона. myrpt.htmtx.
2. Использовать unzipTemplate('myrpt.htmtx') распаковка шаблона для создания папки с именем myrpt, который содержит таблицы стилей и файлы шаблонов изображений.
3. Перейдите в папку таблиц стилей в myrpt папка. Откройте окно root.css в текстовом редакторе.
4. Создайте правило CSS, определяющее имя стиля ZebraStripeTable для элемента таблицы HTML. Чтобы определить правило CSS для стиля ZebraStripeTable, добавьте следующие строки в root.css файл. Цвета фона # B0C4DE и # FFFFFF светло-синие и белые соответственно.
/* Settings for whole table */
table.ZebraStripeTable {
text-align: center;
border: 1px solid black;
border-collapse: collapse;
width: 5in;
height: 4in;
}
/* Settings for table body */
table.ZebraStripeTable td {
padding: 0pt 0pt 0pt 0pt;
vertical-align: middle;
text-align: center;
border: 1px solid black;
border-collapse: collapse;
}
/* Zebra rows and colors */
tr:nth-child(even) {
background-color: #B0C4DE
}
tr:nth-child(odd) {
background-color: #FFFFFF
}5. Сохранить root.css файл.
6. Использовать zipTemplate('myrpt') чтобы заархивировать файлы шаблонов обратно в myrpt.htmtx пакет шаблона.
7. В программе укажите ZebraStripedTable в качестве стиля таблицы.
rpt = mlreportgen.report.Report('myreport','html','myrpt.htmtx'); tb = Table(); tb.StyleName = 'ZebraStripeTable';
Это полный код для использования HTML-шаблона, myrpt.htmtx, чтобы отформатировать магический квадрат как зебра-полосатую таблицу.
import mlreportgen.report.* import mlreportgen.dom.* rpt = mlreportgen.report.Report('myreport','html','myrpt.htmtx'); maglen = 8; mag = magic(maglen); tb = Table(mag); tb.StyleName = 'ZebraStripeTable'; add(rpt,tb); close(rpt); rptview(rpt);