MATLAB Answers

How to combine multiple sheet in an excel file in to a single sheey

2 views (last 30 days)
Srikant Sekar
Srikant Sekar on 3 Sep 2021
Commented: Ive J on 4 Sep 2021
I have an excel file with multiple sheets. Each sheet has single column and 350-450 row data. Around 80-95 sheets were there.How to bring all the column in sheets in to a single sheet? i need the name of each sheet to come as header in the final compiled sheet.am a beginner. Plz do help.

Accepted Answer

Ive J
Ive J on 3 Sep 2021
Follow this example:
file = "test.xlsx"; % replace your file name
names = sheetnames(file);
data = table;
for i = 1:numel(names)
data.(names(i)) = readmatrix(file, 'Sheet', names(i));
end
writetable(data, 'merged.xlsx')
Note it works for your case: one numeric column per each data sheet.
  2 Comments
Ive J
Ive J on 4 Sep 2021
Are you sure you type the correct function name? it's sheetnames. Aslo what version of MATLAB do you use? sheetnames was introduced in R2019b. In case your MATLAB is older, you can use actxserver :
exl = actxserver('excel.application');
exlWkbk = exl.Workbooks;
exlFile = exlWkbk.Open(fullfile(pwd,'test.xlsx'));
nSheets = exlFile.Sheets.Count;
names = strings(nSheets, 1);
for i = 1:nSheets
names(i) = exlFile.Sheets.Item(i).Name; % sheet names
end
Quit(exl)
delete(exl)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!