我正在尝试使用matlab将数据写入一个很长的excel文件,我的问题是,当文件中的列数超过27时,列被标记为'AA''AB',依此类推。 我正在使用命令:
>index=find(strncmp(xlRaw(2,:),'title',5));
找到我需要写入的列的索引号。这给了我需要翻译成字符的列数。 'A','B'......'AA'......
进行我正在使用的转换:
>writeIndex=[char(index(1)-27+'A')];
只要索引等于或小于27,它就会起作用。当一些更大时,我需要使用这个循环:
>for ii=1:length(index);
if index(ii)<27
writeIndex(ii)={char(index(ii)-1+'A')};
else writeIndex(ii)={['A',char(index(ii)-27+'A')]};
end
end
有谁知道更有效的方法吗?这个程序需要一段时间才能运行,所以我试图使用最少的循环。我想在没有一个的情况下执行这个简单的操作。
有谁知道如何做到这一点?
答案 0 :(得分:0)
写入xls文件的正常方法是使用xlswrite
,这是将100 x 100矩阵写入文件的示例:
xlswrite('writefile.xls' ,rand(100))
如果您只想更改工作表的一部分,则可能需要使用以下工作流程:
xlsread
xlswrite
一次写很多东西比逐一写东西要快得多。请务必查看doc xlswrite
以了解更多选项。