我有一个单元格数组。此单元格数组中的某些元素包含零作为第一个字符,整个元素也只包含数字(双精度)。将这些导出到Excel(我更喜欢)时,会删除零并将其转换为数字。
我们举一个例子来说明我的问题。我有一个包含10个元素的单元格数组:
NodeID = {'0000006';
'0000011';
'000011R';
'000016R';
'000021R';
'B276_2';
'EB 7.55';
'EB2521';
'EllebaekOPlB1';
'EllebaekOplB10'};
前两个元素分别包含零,直到数字6和11。与第三个元素不同,涉及字母。因此,在将NodeID
导出到Excel时,它会在列中返回(顺便说一下,我使用writetable
命令):
6
11
000011R
000016R
000021R
B276_2
EB 7.55'
EB2521
EllebaekOPlB1
EllebaekOplB10
注意删除前两个元素的零。现在我知道在Excel中,它将保留所有内容,在单元格前添加引号符号'
,例如。 '0000006
代表第一个元素。
我曾在很多地方寻找过解决方法。但有没有一种避免这种情况发生的好方法?要么以某种方式添加额外的´
或其他一些我没见过的神奇技巧?
提前谢谢!
答案 0 :(得分:0)
一种替代方案(如果您的值在单元格中,正如您所说的那样):
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}]
在字符串的前面插入一个引号。 Relevant answer