Используйте функцию XLSFINFO . Он определяет, что файл представляет собой электронную таблицу Excel, предоставит вам список всех рабочих таблиц в нем, а также может определить формат файла Excel.
[status,sheets,format] = xlsfinfo(filename);
if ~isempty(status)
lastsheet = sheets{end};
end
Как только вы знаете имя последнего листа, вы можете использовать XLSREAD для получения данных из него.
[num,txt,raw] = xlsread(filename,lastsheet);
Используйте DIR для сбора имен файлов в ваших папках.
UPDATE
Проверьте этот скрипт:
folders = {'test1','test2'};
DATA = cell(numel(folders),1);
for fo = 1:numel(folders)
files = dir(folders{fo}); %# get array fo all files in a folder
files([files(:).isdir]) = []; %# remove directories from the structure array
DATA{fo} = cell(numel(files),1);
for fi = 1:numel(files)
filename = fullfile(folders{fo},files(fi).name);
disp(filename)
[status,sheets] = xlsfinfo(filename);
if ~isempty(status)
lastsheet = sheets{end};
[num,txt,raw] = xlsread(filename,lastsheet);
DATA{fo}{fi} = num; %# or txt, or raw
end
end
end