星期日, 十月 28, 2012

合并多个excel

我早说过excel是反人类的东西,是个人以及企业的灾难。

问题:要合并数百个excel文件。格式相同,字段相同。
方案:

clear all
% 文件名按照001.xls, 002.xls....这样排布,1000个以内吧,多了自己改程序
maxindex=286;
% 最大文件编号。
index=0;
for i=1:maxindex
num=num2str(i+1000);
num=num(2:4);
% 耍赖犯懒了,001就是1+1000=1001,取第2-4位。
xlsfilename=[num '.xls'];
[ndata, text, alldata]=xlsread(xlsfilename);
[m n]=size(alldata);

for j=2:m
    index=index+1;
    for k=1:n
       mergedata{index,k}=alldata{j,k};
    end
end

end
xlswrite('mergexls.xls',mergedata);

代码放在这,迟早有人会碰上类似的问题。
MatLab跑起来够慢的,不过无所谓,反正就跑一遍。把文件合并就够了。另外,讨厌matlab里面的cell数据结构,一锅杂烩,真难看。

没有评论: