我的细胞结构具有< 1 * 40结构>在里面。每个结构都具有相同的字段名称(每个具有12个字段名称和相应的值)。我想将此单元格数组导出到Excel文件中,以便所有字段名称成为标题(12个连续列),并在每个字段下面名称来自其各自的字段值。
我使用cell2struct尝试了xlswrite,但它没有帮助 如果有人能帮我这个吗?
答案 0 :(得分:0)
如果您的输入数据如下所示:
data = {struct('a', 1, 'b', 2), struct('a', 3, 'b', 4)};
您可以使用struct2cell
和简单连接的组合来处理它。
首先从单元格数组转换为结构数组:
data = cat(2, data{:});
然后您可以使用struct2cell
values = struct2cell(data(:));
然后列名应该只是结构的fieldnames
headers = fieldnames(data);
然后,您可以将标题与数据连接起来,以产生xlswrite
xlsdata = cat(2, headers, values)'
xlswrite('filename.xlsx', xlsdata);
xlsdata =
'a' 'b'
[1] [2]
[3] [4]
我们可以稍微强调一点:
xlsdata = cat(2, fieldnames(data{1}), struct2cell(cat(2, data{:})))';
xlswrite('filename.xlsx', xlsdata);