Assign excel data to multi-dimensional array

Hi I want to assign data repetitively in an excel spreadsheet to a n*n*5 dimensional array, ie 5 pages.
% User inputs
ExcelFile = '\InputData.xlsx';
SheetNumber = 1;
InputDataRange = 'B5:Y910';
[alldata, text, ~] = xlsread(ExcelFile, SheetNumber, InputDataRange);
data=alldata(:,:,1)
data=alldata(:,:,2)
data=alldata(:,:,n)
data=alldata(:,:,5).....etc
I get an error message stating "Index exceeds matrix dimensions."
Any ideas? Regards

Answers (1)

Change this line (alldata should be the third output argument)
[~,text,alldata] = xlsread(ExcelFile, SheetNumber, InputDataRange);

7 Comments

Hi Azzi,
Im afraid that does not work, still get the same error...
For my original script, it seems that each entry read in from excel is in a square bracket...
I thought changing alldata from a cell to an array might work still getting the same error
What the size of alldata? type
size(alldata)
I think this might work
[~,text,alldata] = xlsread(ExcelFile, SheetNumber, InputDataRange);
datacell=alldata(:,:);
dataarray = cell2mat(datacell);
data=dataarray;
data(:,:,2)=dataarray;
data(:,:,3)=dataarray;
data(:,:,4)=dataarray;
data(:,:,5)=dataarray;
Hi Azzi
I have seen so many post from you on the Matlab discussion forum. I had a question, that i cannot solve. Do you have any possibility to see that. I share the screenshot from the error.

Sign in to comment.

Asked:

on 22 Jul 2014

Commented:

on 26 Dec 2020

Community Treasure Hunt

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

Start Hunting!