Таблицы формата

Можно использовать 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.

Создайте Word Table Style

Можно отформатировать таблицу путем применения пользовательского стиля Microsoft Word к таблице. Если вы применяете стиль таблицы к одному или нескольким разделам Word формальная таблица, задаете ширины каждого из столбцов таблицы. В противном случае столбцы разделов не могут выстроиться в линию.

Задавать стиль таблицы, одним словом, таблица стилей:

  1. Создайте шаблон Microsoft Word. Для получения информации о создании шаблона Microsoft Word смотрите, Создают Шаблон Microsoft Word.

  2. Откройте файл шаблона Word при помощи одного из этих методов:

    • В MATLAB, в Current Folder pane, щелкают правой кнопкой по файлу шаблона и нажимают Open Outside MATLAB.

    • За пределами MATLAB щелкните правой кнопкой по файлу и нажмите Open.

      Примечание

      Не дважды кликайте файл шаблона Word, чтобы открыть его. Двойной клик по файлу открывает файл документа Word, который использует шаблон.

  3. В Word, на вкладке Home, в группе Styles, кликают по значку Styles.

  4. Нажмите кнопку Manage Styles.

  5. Нажмите New Style.

  6. В диалоговом окне Create New Style from Formatting:

    • Задайте Name.

    • Установите Style type на Table.

    • В Style based on выберите основной стиль для своего нового стиля.

    • В разделе Formatting задайте форматирование и к каким частям таблицы форматирование применяется.

  7. Выберите New documents based on this template и затем нажмите OK.

  8. В диалоговом окне Manage Styles выберите New documents based on this template и затем нажмите OK.

  9. Сохраните шаблон.

Для примера форматирования использования шаблона Word смотрите, Составляют Чередуемую Зеброй Таблицу.

Создайте стиль таблицы PDF или HTML

Можно отформатировать таблицы 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 объекты.

ФорматированиеОбъект форматаСвойство формата

Ширина таблицы

mlreportgen.dom.Width

Width

Цвет табличного фона

mlreportgen.dom.BackgroundColor

BackgroundColor

Задайте границу вокруг таблицы

mlreportgen.dom.Border

Border

Цвет границы

mlreportgen.dom.Border

BorderColor

Толщина границы

mlreportgen.dom.Border

BorderWidth

Задайте оставленный, право, верхняя часть или нижняя граница таблицы

mlreportgen.dom.Border

n/A

Сверните границы записи таблицы и записи таблицы (только отчеты HTML)

mlreportgen.dom.BorderCollapse

BorderCollapse

Задайте разделитель столбцов

mlreportgen.dom.ColSep

ColSep

Цвет разделителя столбцов

mlreportgen.dom.ColSep

ColSepColor

Толщина разделителя столбцов

mlreportgen.dom.ColSep

ColSepWidth

Задайте диафрагму строки

mlreportgen.dom.RowSep

RowSep

Цвет разделителя строки

mlreportgen.dom.RowSep

RowSepColor

Толщина диафрагмы строки

mlreportgen.dom.RowSep

RowSepWidth

Таблица Indent от левого поля

mlreportgen.dom.OuterMargin

OuterLeftMargin

Пробел прежде или после таблицы

mlreportgen.dom.OuterMargin

n/A

Пробел направо от таблицы

mlreportgen.dom.OuterMargin

n/A

Выровняйте по левому краю таблицу, право или центр

mlreportgen.dom.HAlign

HAlign

Задайте направление потока записи таблицы (слева направо или справа налево)

mlreportgen.dom.FlowDirection

FlowDirection

Измените размер столбцов таблицы, чтобы соответствовать содержимому

mlreportgen.dom.ResizeToFitContents

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);

Отформатируйте формальную таблицу или таблицу MATLAB программно

Можно использовать свойства формата и объекты отформатировать 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 свойства формата или объекты.

ФорматированиеОбъект форматаСвойство формата

Создайте границу вокруг записи

mlreportgen.dom.Border

Border

Цвет границы

mlreportgen.dom.Border

BorderColor

Толщина границы

mlreportgen.dom.Border

BorderWidth

Создайте оставленный, право, верхняя часть или нижняя граница записи

mlreportgen.dom.Border

n/A

Выровняйте содержимое записи к верхней части, нижней части, или середина

mlreportgen.dom.VAlign

VAlign

Пробел между контуром записи и содержимым записи

mlreportgen.dom.InnerMargin

InnerMargin

Пробел между содержимым записи и его верхней частью, нижней частью, правом или покинутыми контурами

mlreportgen.dom.InnerMargin

n/A

Заставьте записи охватывать несколько столбцов

n/a

ColSpan

Заставьте запись охватывать несколько строк

n/a

RowSpan

Можно использовать другие объекты формата, которые применяются к объектам, которые содержит запись таблицы. API DOM игнорирует объекты формата, которые не применяются к конкретному объекту.

Этот пример составляет таблицу от выхода magic функционируйте и делает максимальное количество таблицы красным.

5-by-5 table of numbers. The entry in row five, column three is 25 and red.

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 свойство

Table with three columns: Age, Weight, and Height. Each column has five rows. The numbers are blue.

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 свойства формата или объекты.

ФорматированиеОбъект форматаСвойство формата

Задайте точную высоту строки

mlreportgen.dom.RowHeight

Height

Задайте минимальную высоту строки (Word сообщает только),

mlreportgen.dom.RowHeight

n/A

Заставьте эту строку повторяться как строка заголовка, когда таблица будет течь через страницы

mlreportgen.dom.RepeatAsHeaderRow

n/A

Позвольте этой строке колебаться между контуром страницы

mlreportgen.dom.AllowBreakAcrossPages

n/A

Можно использовать другие объекты формата, которые применяются к объектам, которые содержит строка. API DOM игнорирует объекты формата, которые не применяются к конкретному объекту.

Этот пример составляет таблицу от выхода волшебной функции и делает содержимое первой строки красным.

A 5-by-5 table of numbers. The first row is red and the other rows are black.

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 возразите заменяет форматы для первого столбца, задавая полужирный, красный текст.

A 5-by-5 table of numbers. The first column is red. The other columns are green.

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 свойство таблицы.

Смотрите также

| | | | | | | |

Похожие темы

Внешние веб-сайты