如何遍历导入的Excel文档?

时间:2013-10-29 20:13:49

标签: matlab

我需要为此代码执行的操作是导入一个巨型(302x11)excel文档,然后询问用户输入。然后,我需要遍历excel数组的第5列中的每个元素,如果该元素与用户输入匹配,则将整行保存到新数组。经过所有302行后,我需要显示新数组。

到目前为止,我有这个:

Vin = input('Vin: ');
filename='MagneticCore.xlsx';
sheet=2;
xlRange='B2:L305';
[ndata, text, alldata] = xlsread(filename,sheet,xlRange,'basic');

在此之后,我不确定如何遍历alldata数组。

2 个答案:

答案 0 :(得分:2)

alldata是一个单元格,用于选择可以使用的第五列alldata{:,5}。在单元格中搜索this way without iterating

如果您遇到问题,请自行尝试使用代码和错误消息更新您的问题

答案 1 :(得分:0)

Daniel R是对的,您可以在不迭代单元格数组的情况下执行此操作。如果需要,您可以在这里迭代数组:

[ndata, text, alldata] = xlsread('Book1.xlsx');

target = 12;
newArray = {};
for r = 1:size(alldata, 1)
    % get the element in the fifth column of the current row
    e = raw{r,5};
    if e == target
        % add to newArray
        newArray{end + 1} = alldata(r,:);
    end
end

% display newArray
for r = 1:size(newArray, 1)
    disp(newArray{r})
end