How to use for loop with xlsread to read multiple sheets in an excel file
15 次查看(过去 30 天)
显示 更早的评论
I am trying to read the same cells of data from different sheets in a single excel file.
I would prefer to use xlsread if possible. Additionally, the sheets are named not numbered.
Thank you
0 个评论
回答(1 个)
Sindar
2020-3-6
num = xlsread(filename,sheet,xlRange) %reads from the specified worksheet and range.
so, just loop over the sheets (with sheetnames):
xlRange = 'B2:C3';
sheets = sheetnames(filename);
for ind=1:length(sheets)
num(ind) = xlsread(filename,sheets(ind),xlRange)
end
2 个评论
Kaushik Senguttuvan
2021-2-20
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
Error in AngDpn_Si_OPV (line 13)
num(ind) = xlsread(filename,sheets(ind))
This error comes. Any help would be great
Sindar
2021-2-20
You need xlRange to be sure it finds the same amount of data in each sheet. Additionally, I missed explaining that you'll need to do more careful indexing depending on the size of the data. The lines work for scalar data, but different shapes need changes:
Column data
num(:,ind) = xlsread(filename,sheets(ind),xlRange);
Row data
num(ind,:) = xlsread(filename,sheets(ind),xlRange);
matrix data
num(:,:,ind) = xlsread(filename,sheets(ind),xlRange);
Or, you can use cells which will always work but are more of a pain to deal with after:
num{ind} = xlsread(filename,sheets(ind),xlRange);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!