How to save struct data from struct to excel?

444 visualizaciones (últimos 30 días)
Ann G
Ann G el 4 de Dic. de 2015
Comentada: Kip Risch-Andrews el 9 de Nov. de 2022
How can I save the output data of my matlab code in an excel file when the data are struct?

Respuesta aceptada

Guillaume
Guillaume el 4 de Dic. de 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 comentarios
elz tomz
elz tomz el 4 de Jul. de 2018
Thank you Guillaume. It works fine
Muhammad Amirul Hafiz Sahful Bahri
Muhammad Amirul Hafiz Sahful Bahri el 8 de Mayo de 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?

Iniciar sesión para comentar.

Más respuestas (1)

Raj Sodhi
Raj Sodhi el 29 de Sept. de 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 comentarios
Varun Vakayil
Varun Vakayil el 16 de Ag. de 2022
Thank you so much Raj. This was exactly what I was looking for.
Kip Risch-Andrews
Kip Risch-Andrews el 9 de Nov. de 2022
This works perfectly for structures with many substructs, thanks for posting it!

Iniciar sesión para comentar.

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by