How to save multiple tables in seperate sheets in Excel

42 次查看(过去 30 天)
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!
figure,imshow(BW);
stats = regionprops(BW,'MajorAxisLength');
t = struct2table(stats);
path = 'C:\Users\Test' ;
filename = [path, filesep, 'GFP',num2str(k)] ;
writetable(t,filename);
end
k stands for k=1:length(Files)
  1 个评论
Benjamin Drewry
Benjamin Drewry 2019-12-2
Victoria,
Just use the writetable function with the name-value pair 'Sheet', number.
i.e. writetable(t, 'fName.xlsx', 'Sheet', 4);
Thanks,
Ben

请先登录,再进行评论。

回答(2 个)

Christopher Wallace
Hi Victoria,
Have you looked into the documentation for the Matlab command 'xlswrite' ?
https://www.mathworks.com/help/matlab/ref/xlswrite.html
?
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,
Chris
  9 个评论
Victoria
Victoria 2018-7-13
I got this error when I tried that:
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
And yes, Major Axis Length is the only one I'd like right now.
Thanks for the help

请先登录,再进行评论。


Peter Perkins
Peter Perkins 2018-8-3
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