How to save multiple tables in seperate sheets in Excel

89 views (last 30 days)
Victoria on 13 Jul 2018
Commented: Benjamin Drewry on 2 Dec 2019
Hello - I am running multiple files in MATLAB and would like to save the outputs from regionprops into one large Excel file. With my current code, which is below, it will only save as seperate .txt files. Help is appreciatied - thank you!
stats = regionprops(BW,'MajorAxisLength');
t = struct2table(stats);
path = 'C:\Users\Test' ;
filename = [path, filesep, 'GFP',num2str(k)] ;
k stands for k=1:length(Files)
  1 Comment
Benjamin Drewry
Benjamin Drewry on 2 Dec 2019
Just use the writetable function with the name-value pair 'Sheet', number.
i.e. writetable(t, 'fName.xlsx', 'Sheet', 4);

Sign in to comment.

Answers (2)

Christopher Wallace
Christopher Wallace on 13 Jul 2018
Hi Victoria,
Have you looked into the documentation for the Matlab command 'xlswrite' ?
You should be able to do something along the lines of:
xlswrite(filename, data, 'Sheet1')
But since the xlswrite function only accepts two-dimensional numeric, character array, or string array, or, if each cell contains a single element, a cell array, you'll have to reformat your data before putting it in.
If you'd like to add a new sheet just change the name of the sheet in the xlswrite parameters. If it the sheet doesn't exist it will be created.
Best Regards,

Sign in to comment.

Peter Perkins
Peter Perkins on 3 Aug 2018
Victoria, I really recommend that you not use xlswrite. As Paolo suggests, writetable can definitely write to sheets in an Excel file.

Community Treasure Hunt

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

Start Hunting!

Translated by