MATLAB Answers

reading multiple excel files

16 views (last 30 days)
Matt
Matt on 11 Jul 2014
Answered: Image Analyst on 11 Jul 2014
HI
I have multiple excel files at different folders. Lets say 5 excel files at 5 different folders. D:\1\1.xlsx.... to D:\10\10.xlsx!
I want to read the column of each excel sheet and store it to five variables in matlab. I am trying this, but i cant say like this..['dataname' num2str(k)] any help?
range='E1:E2500';
for k=1:5
fname=['d:\1' '\ALL000' num2str(k) '\F000' num2str(k) 'CH3.CSV'];
sheet=['F000' num2str(k) 'CH3'];
['dataname' num2str(k)]=xlsread(fname,sheet,range);
end
Thanks
Matt
  5 Comments
dpb
dpb on 11 Jul 2014
...I want to save ...like dataname1, dataname2,dataname3...
AGAIN, do NOT do this!!! (This way "there be dragons")
Use a name structure array or just ordinary arrays and reference the various data with the column number instead of "poofing" variables into the workplace.
While it is possible, it just leads to a nightmare later on to do so. There are languages (like REXX) that make such name creation a feature of the language, but Matlab is not one of those.

Sign in to comment.

Answers (2)

dpb
dpb on 11 Jul 2014
D:\1\1.xlsx.... to D:\10\10.xlsx
...I want to read the column of each excel sheet and store it to five variables
Do NOT do this. See the FAQ for why not and the alternatives.
  1 Comment
Joseph Cheng
Joseph Cheng on 11 Jul 2014
thanks dpb i keep losing this link for the questions that ask to create incremental named variables.

Sign in to comment.


Image Analyst
Image Analyst on 11 Jul 2014
If you have more than one workbook, you should really use ActiveX programming rather than xlsread(). It will be a lot faster. See attached demo. Store each set of data you read in to a column of an array. Let me know if you can't figure out how to adapt the demo to do that.

Tags

Community Treasure Hunt

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

Start Hunting!