How can I programmatically add tables in PowerPoint?

조회 수: 10 (최근 30일)
Saria Ahmad
Saria Ahmad 2022년 10월 26일
답변: Deep 2024년 9월 10일
I have several tables that I want to insert in PPT programatically. The tables are splits in chunks. and I store the tables in .mat format. Now I want to insert them into slides in a loop. How can I do this? As I didn't find anything in the mlreportgen.ppt document.
import mlreportgen.ppt.*
ppt = Presentation('myfile');
open(ppt);
dt = dir('*.mat');
for i = 1:length(dt)
TableSlide = add(ppt,'Blank');
img = mlreportgen.ppt.Table(sprintf('subTable%d',i))
add(TableSlide,img);
end
close (ppt)

답변 (1개)

Deep
Deep 2024년 9월 10일
Hi Saria,
It looks like there was a small misunderstanding regarding the use of the "Table" class. The "Table" class in "mlreportgen.ppt", introduced in MATLAB R2015b, does not accept a string argument in its constructor.
The MATLAB documentation page for "mlreportgen.ppt.Table" outlines the correct approaches for using the "Table" constructor, which you can explore here - https://www.mathworks.com/help/rptgen/ug/mlreportgen.ppt.table-class.html#buxs7lc-3.
Here's a simple example of how you can create a slide with a table containing tabular data:
import mlreportgen.ppt.*
%% Using dummy data. You may load data from your .MAT files here.
data = {'Header1', 'Header2', 'Header3';
10, 20, 30;
40, 50, 60;
70, 80, 90};
%% Creates a PPT slide, adds a blank table
ppt = Presentation('myfile');
open(ppt);
slide = add(ppt, 'Blank');
pptTable = Table();
pptTable.Style = {RowHeight('0.5in'), ColWidth('1in')}; % Customize the table style
%% Loop through tabular data to create table entries
for rowIdx = 1:size(data, 1)
row = TableRow();
for colIdx = 1:size(data, 2)
entry = TableEntry(num2str(data{rowIdx, colIdx}));
append(row, entry);
end
append(pptTable, row);
end
%% Add the slide to the PPT, and use "close" to finish writing.
add(slide, pptTable);
close(ppt);
For more detailed guidance, you might find the following resources helpful:
Hope this helps!

카테고리

Help CenterFile Exchange에서 Create Complete PowerPoint Presentations에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by