Можно использовать mlreportgen.dom.Table
, mlreportgen.dom.FormalTable
, mlreportgen.dom.MATLABTable
, или mlreportgen.report.BaseTable
объекты составить таблицу в отчете. Смотрите Выбирают Тип Таблицы, чтобы Создать. Можно отформатировать любой из этих типов таблиц или элементов (раздел, строка, группа столбцов или запись) таблиц при помощи этих подходов:
Отформатируйте содержимое, прежде чем вы составите таблицу. Например, числа формата в MATLAB® прежде чем вы будете использовать их, чтобы составить таблицу. Смотрите Числа Формата в Таблице.
Объекты DOM формата, прежде чем вы составите таблицу от них. Например, отформатируйте mlreportgen.dom.Paragraph
объект, прежде чем вы будете использовать его, чтобы создать запись таблицы.
Измените стиль шаблонов по умолчанию или создайте пользовательский стиль шаблонов для табличного или табличного элемента. См., что Таблицы Формата Используют Заданные Шаблоном Стили.
Замените стили шаблонов при помощи свойств формата и объектов формата с объектом, который представляет табличный или табличный элемент. См. Таблицы Формата Программно.
Для получения информации характерный для форматирования MATLABTable
таблица, смотрите, Составляют Таблицы из Таблиц MATLAB. Для получения информации характерный для форматирования BaseTable
таблица, смотрите Составляют Базовые таблицы API Отчета.
Для объекта таблицы, табличного объекта элемента или объекта, содержавшегося в табличном объекте элемента, формат, заданный свойством формата или объектом формата, заменяет эквивалентный формат, заданный основанным на шаблоне стилем. Формат, заданный для объекта, заменяет эквивалентный формат, заданный контейнерным объектом. Например, если запись таблицы содержит mlreportgen.dom.Paragraph
объект, цвет текста задан для Paragraph
возразите заменяет цвет, заданный для строки, которая содержит его. Цвет строки заменяет цвет, заданный для таблицы, которая содержит строку. Смотрите Наследование Формата.
Таблицы и табличные элементы имеют значение по умолчанию, заданный шаблоном стиль. Рассмотрите настройку заданного шаблоном стиля, если индивидуальная настройка применяется к нескольким таблицам, и вы - удобная работа со стилями в Microsoft® Word или редактирующий каскадные таблицы стилей (CSS) для HTML или отчеты PDF.
Можно отформатировать таблицу путем применения пользовательского стиля Microsoft Word к таблице. Если вы применяете стиль таблицы к одному или нескольким разделам Word формальная таблица, задаете ширины каждого из столбцов таблицы. В противном случае столбцы разделов не могут выстроиться в линию.
Задавать стиль таблицы, одним словом, таблица стилей:
Создайте шаблон Microsoft Word. Для получения информации о создании шаблона Microsoft Word смотрите, Создают Шаблон Microsoft Word.
Откройте файл шаблона Word при помощи одного из этих методов:
В MATLAB, в Current Folder pane, щелкают правой кнопкой по файлу шаблона и нажимают Open Outside MATLAB.
За пределами MATLAB щелкните правой кнопкой по файлу и нажмите Open.
Примечание
Не дважды кликайте файл шаблона Word, чтобы открыть его. Двойной клик по файлу открывает файл документа Word, который использует шаблон.
В Word, на вкладке Home, в группе Styles, кликают по значку Styles.
Нажмите кнопку Manage Styles.
Нажмите New Style.
В диалоговом окне Create New Style from Formatting:
Задайте Name.
Установите Style type на Table
.
В Style based on выберите основной стиль для своего нового стиля.
В разделе Formatting задайте форматирование и к каким частям таблицы форматирование применяется.
Выберите New documents based on this template и затем нажмите OK.
В диалоговом окне Manage Styles выберите New documents based on this template и затем нажмите OK.
Сохраните шаблон.
Для примера форматирования использования шаблона Word смотрите, Составляют Чередуемую Зеброй Таблицу.
Можно отформатировать таблицы HTML и PDF при помощи стиля CSS, заданного в шаблоне. Чтобы создать шаблон HTML или PDF, смотрите, Создают Шаблон PDF или HTML.
Чтобы задать стиль таблицы в шаблоне 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 смотрите, Составляют Чередуемую Зеброй Таблицу.
Если вы задали стиль в шаблоне, можно применить его к объекту, который представляет табличный или табличный элемент в программе отчета. Обеспечьте стиль в качестве аргумента к конструктору Object или присвойте его 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) |
| |
Задайте разделитель столбцов |
| |
Цвет разделителя столбцов |
| |
Толщина разделителя столбцов |
| |
Задайте диафрагму строки |
| |
Цвет разделителя строки |
| |
Толщина диафрагмы строки |
| |
Таблица Indent от левого поля |
| |
Пробел прежде или после таблицы | n/A | |
Пробел направо от таблицы | n/A | |
Выровняйте по левому краю таблицу, право или центр |
| |
Задайте направление потока записи таблицы (слева направо или справа налево) |
| |
Измените размер столбцов таблицы, чтобы соответствовать содержимому | n/A |
Можно использовать другие объекты формата, которые применяются к объектам, которые содержит таблица. API DOM игнорирует объекты формата, которые не применяются к конкретному объекту.
Для форматирования, которое применяется к целой таблице, используйте свойства формата и объекты с объектом, который представляет целую таблицу. Этот пример использует объекты формата, чтобы задать границу таблицы и диафрагмы строки и столбца. Это использует свойство формата, чтобы задать цвет фона.
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.Table
| mlreportgen.dom.TableRow
| mlreportgen.dom.TableEntry
| mlreportgen.dom.FormalTable
| mlreportgen.dom.MATLABTable
| mlreportgen.report.BaseTable
| mlreportgen.dom.TableHeaderEntry
| mlreportgen.dom.TableColSpecGroup
| mlreportgen.dom.TableColSpec