Reading in excel file with multiple sheets into a cell array using readtable
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Davindra Usov
am 21 Jun. 2022
Kommentiert: Davindra Usov
am 21 Jun. 2022
Hi,
I am trying to read in an excel file with multiple sheets (5 sheets) using the readtable command. Each of these sheets is 40x50. Here is the part of the code i wrote:
n=5; %no. of excel sheets
opts=detectImportOptions(the_excel_file);
opts=setvartype(opts,'char');
excel_data=cell(n,1) %initialising the cell array
for v=1:n
excel_data(v,1)=table2cell(readtable(num2str(the_excel_file),opts,'Sheet',num2str(excel_sheets(v,1)))); %excel sheets is a 5x1 string of the excel sheet names.
end
However, I get this error:
Unable to perform assignment because the size of the left side is 1-by-1 and the size of
the right side is 40x50.
I don't understand what I did wrong? I have tried many things but the same error occurs. I am trying to store the data in each of the 5 sheets into a 5x1 cell array, such that each cell contains all the data from one sheet.
Thank you
0 Kommentare
Akzeptierte Antwort
Kevin Holly
am 21 Jun. 2022
Bearbeitet: Kevin Holly
am 21 Jun. 2022
You need to use curly brackets. Please see below.
n=5; %no. of excel sheets
excel_data=cell(n,1) %initialising the cell array
size(excel_data)
excel_data(1,1) % Notice this is a 1x1 cell array
excel_data{1,1} % to access the content inside the cell, use curly brackets.
for v=1:n
data = rand(40,50);
excel_data{v,1}= data % use curly brackets here
end
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!