导出到 Excel 时保留元胞数组的值

Keeping values of cell arrays when exporting to Excel

我有一个元胞数组。此元胞数组中的某些元素包含零作为第一个字符,并且整个元素也只是数字(双精度)。将这些导出到 Excel(我更喜欢)时,零将被删除并将其转换为数字。

让我们举个例子来说明我的问题。我有一个包含 10 个元素的元胞数组:

NodeID = {'0000006';
          '0000011';
          '000011R';
          '000016R';
          '000021R';
          'B276_2';
          'EB 7.55';
          'EB2521';
          'EllebaekOPlB1';
          'EllebaekOplB10'};

前两个元素分别包含零,直到数字 6 和 11。与涉及字母的第三个元素等不同。所以当导出NodeID到Excel时,它returns这个列(我顺便用了writetable命令):

6
11
000011R
000016R
000021R
B276_2
EB 7.55'
EB2521
EllebaekOPlB1
EllebaekOplB10

注意删除了前两个元素的零。现在我知道在 Excel 中,它将保留所有内容,并在单元格前面添加一个引号 ',例如。 '0000006 第一个元素。

我在很多地方都搜索过以找到解决这个问题的方法。但是有没有什么好的方法可以避免这种情况发生呢?通过某种方式添加额外的 ´ 或其他一些我没见过的魔术?

提前致谢!

另一种选择(如果您的值在单元格中,如您所说):

filename = 'NodeID.xlsx';
NodeID2 = cellfun(@(C) ['''',C], NodeID,'UniformOutput', false)
xlswrite(filename, NodeID2)

这给你:

NodeID2 =     
    ''0000006'
    ''0000011'
    ''000011R'
    ''000016R'
    ''000021R'
    ''B276_2'
    ''EB 7.55'
    ''EB2521'
    ''EllebaekOPlB1'
    ''EllebaekOplB10'

还有一个 Excel 文件如下所示:

cellfun 行相当于:

for ii = 1:numel(NodeID)
   NodeID2{ii,1} = ['''', NodeID{ii}];
end

['''', NodeID{ii}]部分在字符串前面插入单引号。 .