Hi. I am trying to read the first column of a sheet that contains a list of filepaths and look inside the folders for *.xlsx and open them. Unfortunately I get an error message. Do you have an idea how to solve this? Thank you very much in advance.
[~, entry] = xlsread(workbookFile,sheetName);
for i=1
sourceDir = xlsread(entry{i,1}); %error message here
sourceFiles = dir(fullfile(sourceDir, '*.xlsx'));
data(:,1) = xlsread(sourceFiles, 1, [entry{i,3} ':' entry{i,3}]);
...
Alternative Code:
data(:,1) = xlsread(dir(fullfile(entry{i,1}, '*.xlsx')), 1, [entry{i,3} ':' entry{i,3}]);
Error: File name must be a string
data(:,1) = xlsread(dir(fullfile(entry(i,1), '*.xlsx')), 1, [entry{i,3} ':' entry{i,3}]);
Error: Error using dir. Function is not defined for 'cell' inputs.

2 Comments

What does
class(entry{1,1})
show?
it says 'char'

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 13 Oct 2015
Edited: Walter Roberson on 13 Oct 2015

0 votes

xlsread() cannot read directories ir wildcards. You need to use dir() to find the contents of the folders and read the files one by one.
The output of dir() is a structure not a list of file names

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!