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

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

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.

*No products are associated with this question.*

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

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.

## 1 Comment

## Subhiksha (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/87510#comment_169826

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