Data String unreadable in uitable matlab

Hello, Please someone help me
i have problem to display string data from ms.excel to uitable in matlab
this is my code :
[filename,path] = uigetfile('.xlsx')
dataExcel = xlsread(fullfile(path,filename),'sheet1','A2:F50');
name = dataExcel(:,2)
set(handles.uitable1,'data','ColumnName',{'Nama'});
This is the result :
Can you help me, please?

1 个评论

set(handles.uitable1,'data','ColumnName',{'Nama'});
That is invalid. After using the 'data' keyword, you need to pass in the data, such as
set(handles.uitable1, 'data', dataExcel, 'ColumnName', {'Nama'});
Please attach a copy of your xlsx file for testing purposes.

请先登录,再进行评论。

回答(1 个)

Your use of 'Nama' as a header suggets that you expect the column you are selecting to be character vectors -- names. However when you use xlsread with only one output, then what is output is only numeric values and nan, with all character vectors replaced by nan. You would need to use the two or three output form of xlsread() to get at the character vectors.
I recommend that you switch to readtable() instead of xlsread()

7 个评论

sorry I did not make the full code. actually I have more than one column
tableData = [nama,ipk, skor,gjbb,out];
tableData = flipud(sortrows(tableData,5));
set(handles.uitable1,'data',tableData(1:10,:),'ColumnName',{'Nama';'IPK';'Skor_Perilaku';'Gaji_Beban';'Kelayakan'});
as you see the fist column did not display my string data
When you use xlsread() and only look at the first output, then it will never have characters or strings or times in it: only numeric. You have to look at the second or third output of xlsread() to get the strings.
However I recommend that you switch to using readtable() instead of xlsread()
how to use readtable()?
data = readtable(fullfile(path,filename),'sheet1','A2:F50');
stuff = table2cell(data(1:10,:));
handles.uitable1.Data = stuff;
It's error
% Error using readtable (line 129)
% Invalid parameter name: sheet1.
% % %
% Error in TA>loaddata_Callback (line 87)
% data = readtable(fullfile(path,filename),'sheet1','A2:F50');
data = readtable(fullfile(path,filename), 'sheet', 'sheet1', 'range', 'A2:F50');
stuff = table2cell(data(1:10,:));
handles.uitable1.Data = stuff;
Thanks, Walter
Can i make plot from that data?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by