从Matlab打印到Excel

时间:2013-11-27 17:50:34

标签: matlab

我正在为我的情况创建一个虚拟的例子。真正的问题更加复杂。

虚拟示例:

我有一个大小为2的结构,其中一个名为'name'的条目和一个大小为2x1的数组。

因此,名为Store的Struct看起来像:

Store(1).name = 'Apple';
Store(1).Data = [1; 2];

Store(2).name = 'Orange';
Store(2).Data = [24; 57];

我想将此打印为excel,使其如下所示:

Apple     1
Apple     2
Orange    24
Orange    57

我甚至不知道如何从上面的例子开始。我过去使用过xlswrite但从不使用混合类型数据。

1 个答案:

答案 0 :(得分:3)

如果您的所有Data字段的大小均为2x1,则您应该可以执行以下操作:

% prepare cell to hold your data
xlData = cell(2*numel(store), 2);
% fill column 1:
xlData(1:2:end-1,1) = {store.name};
xlData(2:2:end,1) = xlData(1:2:end-1);
% fill column 2:
xlData(:,2) = num2cell(vertcat(store.Data));
% write to excel:
xlswrite('yourExcelfile.xlsx', xlData)

没有Matlab可以测试,但它应该可以帮助你开始。

由于xlswrite采用单元格数组,因此混合数据类型没有问题。