我有一个单元结构,其中有 <1*40 struct> 。每个结构都有相同的字段名称(每个都有 12 个字段名称和各自的值)。我想将此单元格数组导出到 Excel 文件中,以便所有字段名称都成为标题(12 个连续列),并且每个字段名称下方都有其各自的字段值。
我曾使用 cell2struct 尝试过 xlswrite,但它没有帮助。
如果有人可以帮助我吗?
我有一个单元结构,其中有 <1*40 struct> 。每个结构都有相同的字段名称(每个都有 12 个字段名称和各自的值)。我想将此单元格数组导出到 Excel 文件中,以便所有字段名称都成为标题(12 个连续列),并且每个字段名称下方都有其各自的字段值。
我曾使用 cell2struct 尝试过 xlswrite,但它没有帮助。
如果有人可以帮助我吗?
如果您的输入数据如下所示:
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);