我知道xlswrite
无法直接将单元格数组的内容填充到Excel工作表中。不知怎的,我在代码中缺少一个逻辑,我需要填充导出到工作表的每个元素。说我的单元格数组中有单元格和字符示例
Names = (1x1 cell) (1x1 cell) (1x1 cell) (1x1 cell)
或者说
Names= {{'Brian'};{'Andy'};{'Katherine'};{'crystal'};{'Thomas'};{'Michael'}; {'Maria'}.........};
直接尝试了xlswrite
,但它没有用。理解它可以一次打印一个(如果我错了,请纠正我)。
saveto = 'D:\Data\';
xlswrite([saveto,'test'],Names{1},'A1');
仅适用于单元格中的一个元素。编写for循环对我没有帮助
for aa=1:length(Names)
saveto = 'D:\Data\';
xlswrite([saveto,'test'],Names{aa},'A1:A2000'); % A2000 is used as a random number
end
感谢您的帮助。
答案 0 :(得分:0)
尝试"展平"在写入xls之前你的Names
:
Names= {{'Brian'};{'Andy'};{'Katherine'};{'crystal'};{'Thomas'};{'Michael'};{'Maria'}}
NamesToWrite = reshape([Names{:}], size(Names));
然后在xlswrite
上使用NamesToWrite
:
saveto = 'D:\Data\';
xlswrite([saveto,'test.xls'],NamesToWrite);
这是因为,如果将单元格数组传递给函数,则其元素必须是数字标量或字符串。