function listbox1_Callback(hObject, eventdata, handles)
index_selected = get(hObject,'Value');
list = get(hObject,'String');
item_selected = list{index_selected}; % Convert from cell array % to string
disp(item_selected);
textdata=xlsread('stringipdata.xlsx');
GetColumnC(handles, textdata);
function listbox2_Callback(hObject, eventdata, handles)
index_selected = get(hObject,'Value');
list = get(hObject,'String');
item_selected2 = list{index_selected}; % Convert from cell array
% to string
disp(item_selected2);
textdata=xlsread('stringipdata.xlsx');
GetColumnC(handles, textdata);
function itemFromColumnC = GetColumnC(handles, textdata)
itemFromColumnC = []; % Initialize to null
% Get the item number that they selected.
selected1 = get(handles.listbox1, 'value');
selected2 = get(handles.listbox2, 'value');
% Get the contents (optional - just FYI in case you want to inspect)
items1 = get(handles.listbox1, 'String');
items2 = get(handles.listbox2, 'String');
% Get the selected item (optional - just FYI in case you want to inspect)
selectedItem1 = items1{selected1};
selectedItem2 = items2{selected2};
% Now compare
if selected1 == selected2
% All indexes are the same so extract column C at that row.
itemFromColumnC = textdata{selected1, 3};
disp(itemFromColumnC);
end
错误是:
???单元格内容引用非单元格数组对象。
==>中的错误stringdata> GetColumnC at 188 itemFromColumnC = textdata {selected1,3};
答案 0 :(得分:2)
xlsread
的第一个输出是普通(双)数组。第三个输出是一个包含xls所有内容的单元格数组。你应该这样称呼它:
[t1, t2, textdata] = xlsread('stringipdata.xlsx'); % or replace t1 and t2 by ~