Вы можете использовать mlreportgen.dom.Table, mlreportgen.dom.FormalTable, mlreportgen.dom.MATLABTable, или mlreportgen.report.BaseTable объекты для создания таблицы в отчете. См. раздел Выбор типа создаваемой таблицы. Можно форматировать любой из этих типов таблиц или элементов (раздел, строка, группа столбцов или запись) таблиц с помощью следующих подходов:
Форматирование содержимого перед созданием таблицы. Например, форматируйте номера в MATLAB ®, прежде чем использовать их для создания таблицы. См. раздел Форматирование номеров в таблице.
Форматирование объектов DOM перед созданием таблицы из них. Например, отформатировать mlreportgen.dom.Paragraph объект перед его использованием для создания записи таблицы.
Измените стиль шаблона по умолчанию или создайте пользовательский стиль шаблона для таблицы или элемента таблицы. См. раздел Форматирование таблиц с использованием стилей, определяемых шаблонами.
Переопределение стилей шаблонов с помощью свойств формата и форматирования объектов с помощью объекта, представляющего таблицу или элемент таблицы. См. раздел Программное форматирование таблиц.
Сведения, относящиеся к форматированию MATLABTable см. раздел Создание таблиц из таблиц MATLAB. Сведения, относящиеся к форматированию BaseTable см. раздел Создание базовых таблиц API отчетов.
Для объекта таблицы, объекта элемента таблицы или объекта, содержащегося в объекте элемента таблицы, формат, заданный свойством format или объектом format, переопределяет эквивалентный формат, заданный стилем на основе шаблона. Формат, заданный для объекта, переопределяет эквивалентный формат, заданный объектом-контейнером. Например, если запись таблицы содержит mlreportgen.dom.Paragraph , цвет текста, указанный для Paragraph объект переопределяет цвет, указанный для строки, которая его содержит. Цвет строки переопределяет цвет, заданный для таблицы, содержащей строку. См. раздел Наследование формата.
Таблицы и элементы таблиц имеют стиль по умолчанию, определяемый шаблоном. Рекомендуется настроить стиль, определяемый шаблоном, если настройка применяется к нескольким таблицам и вам удобно работать со стилями в Microsoft ® Word или редактировать каскадные таблицы стилей (CSS) для отчетов HTML или PDF.
Таблицу можно отформатировать, применив к ней пользовательский стиль Microsoft Word. Если стиль таблицы применяется к одному или нескольким разделам формальной таблицы Word, укажите ширину каждого столбца таблицы. В противном случае столбцы разделов могут не выстраиваться.
Чтобы определить стиль таблицы в таблице стилей Word, выполните следующие действия.
Создание шаблона Microsoft Word. Сведения о создании шаблона Microsoft Word см. в разделе Создание шаблона Microsoft Word.
Откройте файл шаблона Word одним из следующих способов:
В MATLAB на панели Текущая папка (Current Folder) щелкните правой кнопкой мыши файл шаблона и выберите Открыть вне MATLAB (Open Outside MATLAB).
За пределами MATLAB щелкните файл правой кнопкой мыши и выберите «Открыть».
Примечание
Не открывайте файл шаблона Word двойным щелчком. При двойном щелчке по файлу открывается файл документа Word, в котором используется шаблон.
В Word на вкладке Главная в группе Стили щелкните значок Стили
.
Нажмите кнопку «Управление стилями».![]()
Щелкните Новый стиль (New Style).
В диалоговом окне «Создание нового стиля из форматирования» выполните следующие действия.
Укажите имя.
Задать тип стиля как Table.
В поле «Стиль на основе» выберите базовый стиль для нового стиля.
В разделе «Форматирование» укажите форматирование и части таблицы, к которым применяется форматирование.
Выберите Создать документы на основе этого шаблона и нажмите кнопку ОК.
В диалоговом окне «Управление стилями» выберите «Создать документы на основе этого шаблона» и нажмите «ОК».
Сохраните шаблон.
Пример форматирования с использованием шаблона Word см. в разделе Создание таблицы с зеброй-полосатой структурой.
Таблицы HTML и PDF можно форматировать с помощью стиля CSS, определенного в шаблоне. Сведения о создании шаблона HTML или PDF см. в разделе Создание шаблона HTML или PDF.
Чтобы определить стиль таблицы в шаблоне HTML или PDF, используйте table селектор с именем класса. Например, этот код CSS задает стиль для таблиц с классом MyTable.
table.MyTable {
border-style: solid;
border-bottom-color: rgb(128, 128, 128);
border-bottom-width: thin;
border-collapse: collapse;
}
Можно использовать селектор потомков CSS (пробел) или селектор потомков (>) для указания формата потомков или потомков таблицы. Например, этот код CSS определяет формат записей таблицы (td элементы) таблицы, стиль которой MyTable.
table.MyTable td {
font-family: Arial, Helvetica, sans-serif;
font-size: 11pt;
text-align: center;
} См. разделы Изменение стилей в шаблонах HTML и Изменение стилей в шаблонах PDF.
Сведения о редактировании CSS см. в документации, например https://developer.mozilla.org/en-US/docs/Web/CSS/Reference.
Пример форматирования с использованием HTML-шаблона см. в разделе Создание таблицы с зеброй.
После определения стиля в шаблоне его можно применить к объекту, представляющему таблицу или элемент таблицы в программе отчетов. Укажите стиль в качестве аргумента конструктору объекта или назначьте его StyleName свойства объекта. Стиль можно применить к заголовку, телу или разделу нижнего колонтитула mlreportgen.dom.FormalTable или mlreportgen.dom.MATLABTable путем назначения стиля StyleName имущества mlreportgen.dom.TableHeader, mlreportgen.dom.TableBody, или mlreportgen.dom.TableEntry объект.
Например, предположим, что определены стили BodyPara, TableTitle, и RuledTable в шаблоне для отчета. В этом примере указываются имена стилей в Paragraph конструктор, в StyleName свойство Paragraph объект и в Table конструктор.
import mlreportgen.dom.*; rank = 5; rpt = Document('MyReport','html','MyTemplate'); p = Paragraph('Here is a magic square or rank 5:','BodyPara'); append(rpt,p); p = Paragraph(sprintf('Rank %d MagicSquare',rank)); p.StyleName = 'TableTitle'; append(rpt,Table(magic(rank),'RuledTable')); close(rpt); rptview(rpt.OutputPath);
Программные форматы можно использовать для переопределения стилей, определенных в стиле таблицы на основе шаблона. Например, предположим, что определен стиль таблицы с именем UnruledTable в шаблоне для создания таблиц без границ, разделителей столбцов или строк. Затем можно переопределить стиль в программе отчетов, чтобы нарисовать рамку вокруг таблицы.
import mlreportgen.dom.*; rpt = Document('MyReport','html','MyTemplate'); table = Table(magic(5),'UnruledTable'); table.Border = 'single'; append(rpt,table); close(rpt); rptview(rpt.OutputPath);
Дополнительные сведения о программном форматировании см. в разделе Программное форматирование таблиц.
Для HTML-отчетов и отчетов PDF для форматирования записей таблицы можно использовать стили, определенные в таблице стилей HTML-шаблонов. При определении стиля записи таблицы используйте td селектор элемента. Например:
td.TableEntryWithBorder {
border:5px solid red;
}
Чтобы применить определенный шаблоном стиль к записи таблицы, задайте TableEntry объект StyleName для имени стиля или укажите имя стиля в качестве второго аргумента TableEntry конструктор. Например:
te = TableEntry('Hello World','TableEntryWithBorder');
Если редактирование CSS неудобно или требуется переопределить стиль таблицы по умолчанию только для нескольких таблиц или элементов таблицы, можно программно форматировать таблицы и элементы таблицы. Используйте один из следующих подходов:
Задайте свойства формата объекта, представляющего таблицу или элемент таблицы.
Добавление объектов формата в Style свойство объекта, представляющего таблицу или элемент таблицы. Добавление объектов форматирования путем объединения существующего значения Style с массивом ячеек, содержащим объекты нового формата. Например:
table.Style = [table.Style {Border('solid','black','3px')}];
Вот некоторые объекты формата и соответствующие свойства формата, которые применяются к mlreportgen.dom.Table, mlreportgen.dom.FormalTable, и mlreportgen.dom.MATLABTable объекты.
| Форматирование | Форматировать объект | Свойство форматирования |
|---|---|---|
Ширина таблицы |
| |
Цвет фона таблицы |
| |
Укажите границу вокруг таблицы |
| |
Цвет границы |
| |
Толщина границы |
| |
Укажите левую, правую, верхнюю или нижнюю границу таблицы | n/a | |
Свернуть границы таблицы и записей таблицы (только HTML-отчеты) |
| |
Укажите разделитель столбцов |
| |
Цвет разделителя столбцов |
| |
Толщина разделителя колонн |
| |
Укажите разделитель строк |
| |
Цвет разделителя строк |
| |
Толщина разделителя строк |
| |
Таблица отступов от левого поля |
| |
Пробел до или после таблицы | n/a | |
Пространство справа от таблицы | n/a | |
Выравнивание таблицы влево, вправо или по центру |
| |
Указание направления потока ввода таблицы (слева направо или справа налево) |
| |
Изменение размера столбцов таблицы в соответствии с содержимым | n/a |
Можно использовать другие объекты формата, которые применяются к объектам, содержащимся в таблице. API-интерфейс DOM игнорирует объекты формата, которые не применяются к определенному объекту.
Для форматирования, применяемого ко всей таблице, используйте свойства форматирования и объекты с объектом, представляющим всю таблицу. В этом примере объекты форматирования используются для задания границы таблицы и разделителей строк и столбцов. Для задания цвета фона используется свойство format.

import mlreportgen.dom.* d = Document('test','html'); table = Table(magic(5)); table.Style = [table.Style {Border('inset','red','3px'), ... ColSep('single','black','1px'), ... RowSep('single','black','1px')}]; table.BackgroundColor = 'lightsteelblue'; append(d, table); close(d); rptview(d.OutputPath);
Для форматирования можно использовать свойства и объекты формата mlreportgen.dom.FormalTable и mlreportgen.dom.MATLABTable объекты. Если указать формат таблицы и одного из ее разделов, значение, указанное для раздела, переопределяет значение таблицы в целом. Не все формальные форматы таблиц применяются к формальным разделам таблиц. Например, OuterLeftMargin свойство не применяется к формальным разделам таблицы. Невозможно создать отступы для верхнего, нижнего или нижнего колонтитула независимо от таблицы, в которой он содержится.
Чтобы получить доступ к записи таблицы для форматирования, можно использовать entry метод mlreportgen.dom.Table, mlreportgen.dom.TableHeader, mlreportgen.dom.TableBody, или mlreportgen.dom.TableFooterобъект.
entry метод возвращает mlreportgen.dom.TableEntry или mlreportgen.dom.TableHeaderEntry объект. Для форматирования записи можно использовать следующие TableEntry форматировать свойства или объекты.
| Форматирование | Форматировать объект | Свойство форматирования |
|---|---|---|
Создать границу вокруг входа |
| |
Цвет границы |
| |
Толщина границы |
| |
Создание левой, правой, верхней или нижней границы входа | n/a | |
Выравнивание содержимого записи по верхнему, нижнему или среднему краю |
| |
Пространство между границей входа и содержимым входа |
| |
Пространство между содержимым записи и ее верхней, нижней, правой или левой границами | n/a | |
Привести к тому, что записи будут охватывать несколько столбцов |
|
|
Сделать запись охватывающей несколько строк |
|
|
Можно использовать другие объекты формата, которые применяются к объектам, содержащимся в записи таблицы. API-интерфейс DOM игнорирует объекты формата, которые не применяются к определенному объекту.
В этом примере создается таблица из выходных данных magic и делает максимальное количество таблицы красным.

import mlreportgen.dom.*; d = Document('test','pdf'); m = magic(5); [v,i] = max(m); [v1,i1] = max(max(m)); t = Table(m); t.Border = 'single'; t.ColSep = 'single'; t.RowSep = 'single'; t.TableEntriesInnerMargin = '2pt'; t.TableEntriesHAlign = 'right'; maxnum = entry(t,i(i1),i1); maxnum.Children(1).Color = 'Red'; append(d,t); close(d); rptview(d);
Чтобы задать один и тот же формат или набор форматов для всех записей таблицы DOM или раздела таблицы DOM, можно использовать следующие свойства:
TableEntriesValign
TableEntriesHalign
TableEntriesInnerMargin
TableEntriesStyle
В этом примере создается таблица из таблицы MATLAB. Пример:
Делает все записи в теле таблицы синими, добавляя объект форматирования к TableEntriesStyle собственность
Центрирование всех записей в теле таблицы путем установки TableEntriesHalign собственность

import mlreportgen.dom.* d = Document('outermargin','docx'); import mlreportgen.dom.* d = Document('myMATLABTable','pdf'); Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; mltable = table(Age,Weight,Height); mltableObj = MATLABTable(mltable); tbodyObj = mltableObj.Body; tbodyObj.TableEntriesStyle = {Color('blue')}; tbODYObj.TableEntriesHAlign = 'center'; append(d,mltableObj); close(d); rptview(d);
Для доступа к строке таблицы для форматирования можно использовать row метод mlreportgen.dom.Table, mlreportgen.dom.TableHeader, mlreportgen.dom.TableBody, или mlreportgen.dom.TableFooter объект.
row метод возвращает mlreportgen.dom.TableRow объект. Для форматирования строки можно использовать следующие TableRow форматировать свойства или объекты.
| Форматирование | Форматировать объект | Свойство форматирования |
|---|---|---|
Указать точную высоту строки |
| |
Укажите минимальную высоту строки (только для отчетов Word) | n/a | |
Заставьте эту строку повторяться как строка заголовка, когда таблица проходит через страницы | mlreportgen.dom.RepeatAsHeaderRow | n/a |
Разрешить этой строке разделять границу страницы | mlreportgen.dom.AllowBreakAcrossPages | n/a |
Можно использовать другие объекты формата, которые применяются к объектам, содержащимся в строке. API-интерфейс DOM игнорирует объекты формата, которые не применяются к определенному объекту.
В этом примере создается таблица из выходных данных магической функции, и содержимое первой строки становится красным.

import mlreportgen.dom.*; d = Document('test','pdf'); m = magic(5); [v,i] = max(m); [v1,i1] = max(max(m)); t = Table(m); t.Border = 'single'; t.ColSep = 'single'; t.RowSep = 'single'; t.TableEntriesInnerMargin = '2pt'; t.TableEntriesHAlign = 'right'; r = row(t,1); r.Style = [r.Style {Color('red')}]; append(d,t); close(d); rptview(d);
Чтобы указать формат группы смежных столбцов таблицы, используйте mlreportgen.dom.TableColSpecGroup объект. Чтобы переопределить форматы группы столбцов для некоторых столбцов, используйте mlreportgen.dom.TableColSpec объект.
В этом примере TableColSpecGroup объект задает зеленый текст. TableColSpec объект переопределяет форматы первого столбца, указывая полужирный красный текст.

import mlreportgen.dom.* rpt = Document('test','pdf'); rank = 5; t = Table(magic(rank)); t.Border = 'single'; t.ColSep = 'single'; t.RowSep = 'single'; t.TableEntriesInnerMargin = '2pt'; t.TableEntriesHAlign = 'right'; %Specify the formats for all columns grps(1) = TableColSpecGroup; grps(1).Span = rank; grps(1).Style = {Color('green')}; %Specify the formats for the first column specs(1) = TableColSpec; specs(1).Span = 1; specs(1).Style = {Bold(true),Color('red')}; grps(1).ColSpecs = specs; t.ColSpecGroups = grps; append(rpt,t); close(rpt); rptview(rpt.OutputPath);
Чтобы изменить размер столбцов в соответствии с самым широким содержимым записей таблицы в столбце, включите ResizeToFitContents объект в Style свойства таблицы.
mlreportgen.dom.FormalTable | mlreportgen.dom.MATLABTable | mlreportgen.dom.Table | mlreportgen.dom.TableColSpec | mlreportgen.dom.TableColSpecGroup | mlreportgen.dom.TableEntry | mlreportgen.dom.TableHeaderEntry | mlreportgen.dom.TableRow | mlreportgen.report.BaseTable