Создайте zebra-полосатую таблицу

В этом примере показано, как создать таблицу с чередующимися цветовыми строками или столбцами. Эти таблицы называются зебра-полосатыми или полосатыми таблицами. Чтобы создать zebra-полосатую таблицу в отчете, можно задать ее в программе или шаблоне. Примеры в этом разделе имеют полосатые по зебре строки. Примените аналогичный метод для зебра-полосатых столбцов.

API Report Generator поддерживают создание zebra-полосатых таблиц программно или с использованием шаблона Word или HTML. Вы не можете создать отчет о PDF для таблицы с полосой зебры с помощью PDF шаблона.

Zebra-полосатая таблица с использованием программы

Эта программа создает магическую квадратную таблицу 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)

Zebra-полосатая таблица с использованием шаблона слова

В этом примере показано, как добавить стиль таблицы к шаблону 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)

Zebra-полосатый стол с использованием HTML Шаблона

В этом примере показов, как добавить стиль таблицы к HTML шаблона, которая задает полосатую по зебре таблицу. Использование шаблона модулирует ваше приложение. Вместо обновления программы, которая может ввести ошибки, можно обновить шаблон.

1. Если у вас нет существующего шаблона HTML, создайте шаблон с помощью mlreportgen.report.Report.createTemplate('myrpt','html'). В этом примере файл шаблона находится в zipped пакете шаблона, 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);