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

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 22 Jul. 2014
Bearbeitet: Azzi Abdelmalek am 22 Jul. 2014

0 Stimmen

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

7 Kommentare

bugatti79
bugatti79 am 22 Jul. 2014
Hi Azzi,
Im afraid that does not work, still get the same error...
bugatti79
bugatti79 am 22 Jul. 2014
For my original script, it seems that each entry read in from excel is in a square bracket...
bugatti79
bugatti79 am 22 Jul. 2014
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)
bugatti79
bugatti79 am 22 Jul. 2014
ans
906 24
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;
Mevlut K
Mevlut K am 26 Dez. 2020
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.

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 22 Jul. 2014

Kommentiert:

am 26 Dez. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by