如何使用Matlab将单元格数组导出到Excel中?

时间:2013-09-20 07:20:44

标签: excel matlab

我的单元格数组看起来像这样

'NIPPON TELEGRAPH & TELPHONE COR'
'IMMERSION CORP'
[]
'NISSAN MOTOR CO LTD'
[]
[]
[]
[]
<1x5 cell>
'STERIS CORP'
<1x134 cell>
[]
<1x4 cell>
[]
<1x2 cell>

这是公司名称的列表,空括号表示不可用的名称,&lt; 1x4 cell&gt;在那个单元格里有四个公司的名字。现在我想将这个数组导出到Excel中,特别是我想把那些&lt; 1x4 cell&gt;类似于Excel中同一行中的四个单独单元格中的单元格。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

xlswrite不会自动处理char数组,单元格和空矩阵的组合。对于每个单元格数组不为空的情况,您可以在其中写入文件的循环。但是,如果你有上面的数据,其中C {1}是一个char数组而C {some n} =一个名字的单元格数组,它会变得有些不雅:

for n = 1:length(C)
    if ischar(C{n})
      xlswrite('testfile.xls',C(n),1, sprintf('A%d',n));
    elseif iscell(C{n})
      xlswrite('testfile.xls',C{n},1, sprintf('A%d',n));
    end
end

在每个C {n}是一个单元阵列(第一个是&lt; 1x1单元&gt;)的情况下,它可能变为:

for n = 1:length(C)
    if ~isempty(C{n})
      xlswrite('testfile.xls',C{n},1, sprintf('A%d',n));
    end
end

我的测试数据:

C{1} = 'TEST NAME';
C{4} = {'TEST','TEST2'};