How can I read in rows from an Excel spreadsheet iteratively?
Show older comments
I am working with a spreadsheet too large to import into Matlab. Is there a way I can read in one row at a time in a for loop? I'm unsure how to increment inside of a char. Currently, this is what I have:
filename = 'data.xlsx.';
xlRange = 'A1:A1888';
dataS = xlsread(filename,xlRange);
Answers (4)
sixwwwwww
on 16 Oct 2013
Dear Jon, You can read excel file iteratively using for loop as follows:
count = 1;
n = 1888;
increment = 10;
for i = 1:increment:n
num{count} = xlsread('filename.xlsx', strcat('A',num2str(i),':A',num2str(i + increment - 1)));
count = count + 1;
end
I hope it helps. Good luck!
1 Comment
Image Analyst
on 16 Oct 2013
Edited: Image Analyst
on 18 Oct 2013
You've got to be kidding me. You suggest to call xlsread() 188 times? I hope he has all day to wait.
Jon
on 16 Oct 2013
0 votes
1 Comment
Image Analyst
on 16 Oct 2013
Edited: Image Analyst
on 16 Oct 2013
No you don't. You can use R1C1 instead of A1 cell referencing. If you want to keep letters, then use Mike Sheppard's excelcol from the File Exchange. Don't miss my Answer elsewhere here.
Image Analyst
on 16 Oct 2013
0 votes
Yes, you can use ActiveX like we so often recommend here. There are lots of examples. I've attached one below. You definitely DO NOT want to use xlsread - I can't stress that enough, unless you want to wait an eternity for your process to finish.
1 Comment
Image Analyst
on 18 Oct 2013
Jon - were you able to accomplish your task? What's the status of this?
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!