Создание и форматирование таблиц

Создание таблицы

Чтобы создать таблицу, можно:

  • Создайте пустую Table объект с использованием mlreportgen.ppt.Table конструктор без аргументов. Затем добавьте TableRow объекты к Table объект и добавить TableEntry объекты к TableRow объекты.

  • Создайте пустую Table объект с использованием mlreportgen.ppt.Table конструктор, задающий количество столбцов.

  • Создайте Table объект, строки и столбцы которого заполнены значениями, заданными в конструкторе. Можно задать двумерный числовой массив или двумерный массив ячеек с числами, векторами символов и Paragraph объекты. Можно также использовать комбинацию этих типов значений.

Пример создания таблицы путем добавления строк таблицы к пустой таблице см. в разделе mlreportgen.ppt.TableRow. Пример создания таблицы путем определения значений в конструкторе объектов Table, см. mlreportgen.ppt.Table.

Формат таблицы

Вы можете задать имя стиля таблицы для общего вида таблицы, например таблицы, которая заштриховывает чередующиеся строки. Можно задать StyleName свойство Table объект - имя стиля таблицы.

Стили таблиц в шаблонах

PowerPoint® шаблон должен содержать образец стиля таблицы, чтобы использовать его в программе PPT API. Чтобы перечислить образцы стилей таблиц в шаблоне, используйте getTableStyleNames.

import mlreportgen.ppt.*

%% Create a new presentation and open it
slides = Presentation('myPrsentation');
open(slides);

%% Print out all table styles and
%% their universally unique identifiers (UUID)
pptStyles = getTableStyleNames(slides);
fprintf('Available table styles:\n');
for i = 1:length(pptStyles)
    fprintf('    Style name: ''%s''\n', pptStyles{i,1});
    fprintf('          UUID: ''%s''\n', pptStyles{i,2});
end

%% Close the presentation
close(slides);

Каждый возвращенный стиль имеет имя и идентификатор. Вы можете использовать имя или идентификатор с Style свойство. Используйте идентификатор, когда имя может варьироваться в зависимости от локали.

Available table styles:
    Style name: 'Medium Style 2 - Accent 1'
          UUID: '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'
    Style name: 'Light Style 1'
          UUID: '{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}'
    Style name: 'Light Style 1 - Accent 1'
          UUID: '{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}'
    Style name: 'Light Style 1 - Accent 2'
          UUID: '{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}'

Если имя стиля, который вы хотите использовать, не имеет образца, создайте его.

  1. Создайте слайд в шаблоне PowerPoint.

  2. На слайде создайте таблицу.

  3. Примените стили, которые необходимо использовать в программе, к таблице. Применение стиля создает образец стиля в шаблоне.

  4. Удалите слайд, сохраните и закройте шаблон.

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

В этом примере показано, как форматировать таблицу с помощью стиля таблицы.

import mlreportgen.ppt.*

%% Create a new presentation and add two slides to it
slides = Presentation();
add(slides,'Title and Content');
add(slides,'Title and Content');


%% Save the two content placeholders named 'Content' in an array. 
%% Replace the first content placeholder with a 5x5 table and 
%% apply a table style to it. 
contents = find(slides,'Content');
tbl = replace(contents(1),Table(magic(5)));
tbl.StyleName = 'Medium Style 2 - Accent 1'

%% Replace the second content placeholder with a 10x10 table and 
%% apply a different table style.
%% Generate the presentation and open  it. 
tbl = replace(contents(2),Table(magic(10)));
tbl.StyleName = 'Medium Style 2 - Accent 2'
close(slides);

if ispc
    winopen(slides.OutputPath);
end

Этот код создает презентацию PowerPoint, которая имеет два слайдов. Каждый слайд содержит таблицу, к которой применяется другой стиль таблицы.

Опции форматирования

Можно задать местоположение (верхние левые координаты x и y), высоту и свойства ширины таблицы. При программном добавлении таблицы к презентации PowerPoint использует эти свойства, если все содержимое таблицы помещается в таблицу. Когда вы заменяете TablePlaceholder или ContentPlaceholder с помощью таблицы PowerPoint подбирает таблицу в расположении заполнителя и размерностях.

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

Можно задать эти опции форматирования по умолчанию для содержимого Table объект.

Table Форматирование объектов Формат объектаФормат

Стиль таблицы из шаблона

Используйте шаблон PowerPoint, чтобы задать форматирование стиля таблицы. Создайте образец стиля в шаблоне.

n/a

StyleName

Цвет фона

BackgroundColor

BackgroundColor

Форматирование столбцов

ColSpec

ColSpecs

Вертикальное выравнивание содержимого камеры таблицы

VAlign

VAlign

Семейство шрифтов

FontFamily

Font

Семейство шрифтов для сложных скриптов, обрабатывающих локали

FontFamily

ComplexScriptFont

Размер шрифта

FontSize

FontSize

Цвет шрифта

FontColor

FontColor

Верхняя левая координата X таблицы

n/a

X

Верхняя левая координата Y таблицы

n/a

Y

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

n/a

Width

Высота таблицы

n/a

Height

Чтобы задать форматирование по умолчанию для содержимого TableRow объект, используйте Style свойство с этими объектами формата.

TableRow Форматирование объектов Формат объектаФормат

Цвет фона

BackgroundColor

n/a

Вертикальное выравнивание содержимого камеры таблицы

VAlign

n/a

Семейство шрифтов

FontColor

n/a

Семейство шрифтов для сложных скриптов

FontFamily

n/a

Размер шрифта

FontSize

n/a

Цвет текста

FontColor

n/a

Смелый

Bold

n/a

Курсив

Italic

n/a

Забастовка

Strike

n/a

Подчеркнуть

Underline

n/a

Цвет фона

BackgroundColor

n/a

Чтобы задать форматирование по умолчанию для содержимого TableEntry объект, используйте эти опции форматирования.

TableEntry Форматирование объектов Формат объектаФормат

Цвет фона

BackgroundColor

BackgroundColor

Ширина столбца

ColWidth

n/a

Вертикальное выравнивание содержимого камеры таблицы

VAlign

VAlign

Семейство шрифтов

FontFamily

Font

Семейство шрифтов для сложных скриптов, обрабатывающих локали

FontFamily

ComplexScriptFont

Цвет текста

FontColor

FontColor

Размер шрифта

FontSize

FontSize

Смелый

Bold

n/a

Курсив

Italic

n/a

Забастовка

Strike

n/a

Подчеркнуть

Underline

n/a

Доступ к строке таблицы или записи

Для доступа к строке в таблице используйте mlreportgen.ppt.Table.row способ. Задайте Table объект и номер строки, к которой вы хотите получить доступ. Для примера, чтобы получить доступ к TableRow объект для второй строки myTable, использовать:

myTable = Table(magic(5));
row2 = row(myTable,2);

Для доступа к записи в таблице используйте mlreportgen.ppt.Table.entry способ. Задайте Table объект, номер строки и номер столбца, к которому необходимо получить доступ. Для примера, чтобы получить доступ к TableEntry объект для третьей записи во второй строке myTable, использовать:

myTable = Table(magic(5));
entry3row2 = entry(myTable,2,3);

Кроме того, вы можете получить доступ к строке таблицы при помощи Children свойство Table объект. Вы можете получить доступ к записи таблицы при помощи Children свойство TableRow объект. Например, для доступа к третьей записи во второй строке myTable:

myTable = Table(magic(5));
entry3row2 = myTable.Children(2).Children(3);

Формат столбца

Для форматирования столбца в таблице используйте одну или несколько mlreportgen.ppt.ColSpec объекты. Создайте ColSpec объект для каждого столбца, который вы хотите отформатировать и задать форматирование для каждого ColSpec объект. Затем задайте массив ColSpec объекты и использовать их с ColSpecs свойство Table объект.

Спецификация формата для строки таблицы имеет приоритет над спецификацией формата для столбца.

import mlreportgen.ppt.*
slidesFile = 'myColSpecs.pptx'
slides = Presentation(slidesFile);
add(slides,'Title and Content');

t = Table(magic(12));
t.Style = {HAlign('center')};

colSpecs(2) = ColSpec('1.5in');
colSpecs(1) = ColSpec('1.5in');
colSpecs(1).BackgroundColor = 'red';
colSpecs(2).BackgroundColor = 'green';
t.ColSpecs = colSpecs;
t.row(2).Style = {VAlign('bottom')};
t.row(2).BackgroundColor = 'tan';
t.entry(2,3).FontColor = 'red';
t.entry(2,3).FontSize = '30pt';

replace(slides,'Content',t);

close(slides);
if ispc
winopen(slides.OutputPath);
end

Когда вы создаете ColSpec можно задать ширину столбца в конструкторе. Для примера:

myColSpec = ColSpec('3in');
Кроме того, можно задать ширину столбца с помощью свойства Width ColSpec объект. Вы задаете другие свойства форматирования ColSpec объект, например BackgroundColor.

Просмотр имен стилей таблиц

Если вы используете PPT API, для задания стиля таблицы, отличного от стиля по умолчанию, необходимо знать имена стилей таблиц в шаблоне PowerPoint. Вы можете просмотреть имя в PowerPoint или с помощью PPT API.

  1. В PowerPoint выберите View > Slide Master.

  2. В размещении слайда, который имеет таблицу, нажмите Table (или в любом месте этого заполнителя). На вкладке Insert нажмите Table.

  3. Создайте пустую таблицу в размещении слайда.

    Появится панель Table Styles. Чтобы увидеть имя стиля таблицы, наведите указатель мыши на изображение стиля таблицы.

    A tooltip "Medium Style 2 - Accent 2" identifies the third table style in the panel of table styles.

Чтобы увидеть имена стилей таблиц с помощью PPT API, используйте getTableStyleNames метод со mlreportgen.ppt.Presentation объект. Выходные выходы этого примера показывают только первые два из многих стилей таблиц в шаблоне по умолчанию.

import mlreportgen.ppt.*
slides = Presentation('myPlaceholderPresentation');

getTableStyleNames(slides)
ans = 

'Medium Style 2 - Accent 1'     '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'
'Light Style 1'                 '{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}'

Чтобы использовать имя стиля таблицы с PPT API, можно использовать либо имя, либо числовой идентификатор.

См. также

Функции

Классы

Похожие примеры

Подробнее о