How to save struct data from struct to excel?
299 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ann G
am 4 Dez. 2015
Kommentiert: Kip Risch-Andrews
am 9 Nov. 2022
How can I save the output data of my matlab code in an excel file when the data are struct?
0 Kommentare
Akzeptierte Antwort
Guillaume
am 4 Dez. 2015
We could do with a lot more details about what you want to do. Do you want the field names to be saved? Is the structure scalar or an array? But at the simplest:
writetable(struct2table(yourstructure), 'someexcelfile.xlsx')
Note that Excel is a tabular format, whereas structures are not. The two are not really the same thing.
11 Kommentare
Muhammad Amirul Hafiz Sahful Bahri
am 8 Mai 2019
I have an error something like this,
Error using struct2table (line
26)
Input structure must be a
scalar structure, or a
structure array with one column
or one row.
Error in beginner (line 17)
writetable(struct2table(S{1,1}),'someexcelfile.xlsx');
How can i solve this problem?
Weitere Antworten (1)
Raj Sodhi
am 29 Sep. 2019
In some cases you have a struct as an element of a struct. So I found it necessary to find only those an output those to the Excel file.
txt = fieldnames(strct) ;
sel = ones(size(txt)) ;
for i = 1:length(txt)
sel(i) = isstruct(strct.(txt{i})) ;
end
i_not_struct = find(~sel) ;
i_struct = find(sel) ;
x = [fieldnames(strct) struct2cell(strct)] ;
xlswrite(xlsfile ,x(i_not_struct,:),1,'a1') ; % winopen(xlsfile)
Then I treat the struct elements separately, as shown in the attached file.
Yours,
Raj
2 Kommentare
Kip Risch-Andrews
am 9 Nov. 2022
This works perfectly for structures with many substructs, thanks for posting it!
Siehe auch
Kategorien
Mehr zu Structures 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!