How to import all sheets of excel file with "UIgetfile" option?

i m writing a code that fetch a excell file including all sheets and store that data in a Variable etc. What I've managed to do so far is i have written two codes, my first code is working but extracting only first sheet of any file...
filter = {'*.xlsx';'*.csv'};
[xlsfile,paht2xls] = uigetfile(filter,'Import-Daten');
FileData = xlsread(fullfile(paht2xls,xlsfile));
my second code extract all sheets of excel file but i m unable to integrate "uigetfile" in this code...
[~,sheet_name] = xlsfinfo('Data.xlsx');
for k = 1:numel(sheet_name)
data{k} = xlsread('Data.xlsx',sheet_name{k});
end
Kindly Guide either first code should extract all sheets of any excel file or second code which is extracting all sheets should work with "uigetfile" instead of specifying file name.... Thanks

 Accepted Answer

Use uigetfile to select the file. Then use that name in your second code to import all the sheets. Maybe something like this (untested)
[xlsfile,paht2xls] = uigetfile(filter,'Import-Daten');
[~,sheet_name] = xlsfinfo(fullfile(paht2xls,xlsfile));
for k = 1:numel(sheet_name)
data{k} = xlsread(fullfile(paht2xls,xlsfile),sheet_name{k});
end

3 Comments

Thanks CRIS ur Code works fine and Helped me.. i have also tried another code with same functionallity to access excel data by specifying sheet numbers individually.. Sharing just for other people who will view this post in Future..
[filename, pathname] = uigetfile({'*.xlsx','Excel Files(*.xlsx)';'*.txt','Txt Files(*.txt)'}, 'Pick a file');
Data1 = table2array(readtable(filename, 'Sheet', 1))
Data2 = table2array(readtable(filename, 'Sheet', 2))
If you are going to immediately turn your table into an array, you should use readmatrix instead of readtable.

Sign in to comment.

More Answers (0)

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!