Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Generate a table in Matlab GUI (matlab 7.0.1)

Asked by Subhiksha on 18 Sep 2013

Hi all,

I have an excel sheet containing 30 rows and 30 columns. Using Matlab Guide, I read the excel sheet. Now I want to display the contents of the excel sheet as a table (figure) containing 30 rows and 30 columns.

I tried with uitable.

p1 = xlsread('C:\Documents and Settings\user\Desktop\sample.xls','Sheet1'); f = figure('Position',[100 100 752 350]); t = uitable('Parent',f,'Position', [ 25 25 700 200]); set(t, 'Data', p1)

On executing the above code, I get the following error: ??? Invalid handle object.

What am I supposed to do???

I am using Matlab 7.0.1.

Thanks in advance for the help.

1 Comment

Subhiksha on 19 Sep 2013

Finally, found a way to create a table in Matlab 7.0.1

This is what I did.

data = xlsread('C:\Documents and Settings\user\Desktop\sample.xls','Sheet1'); colnames = {'FP1', 'FP2', 'F7', 'F3', 'Fz', 'F4', 'F8', 'FT7', 'FC3', 'FCz', 'FC4', 'FT8', 'T3', 'T4', 'TP7', 'TP8', 'C3', 'Cz', 'C4', 'CP3', 'CPz', 'CP4', 'T5', 'P3', 'Pz', 'P4', 'T6', 'O1', 'Oz', 'O2'}; t = uitable(data, colnames,'Position', [100 100 1000 500]);

Subhiksha

Products

No products are associated with this question.

2 Answers

Answer by Chocolate Warrior on 18 Sep 2013

Insert a uitable in your GUI by name say TableDemo. then read data from xls like you have done,

p1 = xlsread('C:\Documents and Settings\user\Desktop\sample.xls','Sheet1'); 

and

set(handles.TableDemo,'Data',p1);

2 Comments

Subhiksha on 18 Sep 2013

Thank you so much for your time. I have put this code in a callback function where I need the table.

p1 = xlsread('C:\Documents and Settings\user\Desktop\sample.xls','Sheet1'); f = figure('Position', [100 100 752 350]); tabledemo = uitable('Position', [ 25 25 700 200]); set(handles.tabledemo,'Data',p1)

On executing the above code, I get this error:

Reference to non-existent field 'tabledemo'.

What should be done??

Chocolate Warrior on 18 Sep 2013

Do you really need to create the table dynamically? You cab just place the table in the GUI DE and then call it using its handles.

Chocolate Warrior
Answer by Jan Simon on 19 Sep 2013
handles.tabledemo = uitable('Position', [ 25 25 700 200]);
set(handles.tabledemo,'Data',p1);
guidata(f, handles);  % Store handles in the ApplicationData of f for later use

0 Comments

Jan Simon

Contact us