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

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 22 Juil 2014
Modifié(e) : Azzi Abdelmalek le 22 Juil 2014
Change this line (alldata should be the third output argument)
[~,text,alldata] = xlsread(ExcelFile, SheetNumber, InputDataRange);

7 commentaires

bugatti79
bugatti79 le 22 Juil 2014
Hi Azzi,
Im afraid that does not work, still get the same error...
bugatti79
bugatti79 le 22 Juil 2014
For my original script, it seems that each entry read in from excel is in a square bracket...
bugatti79
bugatti79 le 22 Juil 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 le 22 Juil 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 le 26 Déc 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.

Connectez-vous pour commenter.

Question posée :

le 22 Juil 2014

Commenté :

le 26 Déc 2020

Community Treasure Hunt

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

Start Hunting!

Translated by