一、 批量读入文件
1.若文件名称有序,则按照文件名称规律循环读取文件
(1)读入不同的excel
for i=1:1:10
str=strcat('F:\数据\v=',int2str(i),'.xlsx'); %连接字符串形成文件名
A=xlsread(str);
end
for i=1:0.2:2
str=strcat('F:\数据\v=',num2str(i),'.xlsx'); %连接字符串形成文件名
A=xlsread(str);
end
注:变量i为整数时,可以用int2str(i)将数字转化为字符串;变量i为小数时,必须用num2str(i)进行转化。
(2)读入同一excel的不同sheet
for k = 1:3
a = xlsread('yourname.xls',['sheet',num2str(k)]);
end
注:可以先用xlsinfo确定有多少个sheet要读 [Type Sheet Format]=xlsfinfo('file1.xls')。
2.若文件名称没有规律,则从第一个文件开始读取
list=dir(['F:\数据\','*.xlsx']);
n=lendth(list);
for i=1:k
str=strcat('F:\数据\',list(i).name)
A=xlsread(str)
end
二、批量导出文件
1.导出数据写入不同的excel
for i=1:k
xlswrite(strcat(filepath,num2str(i),'.xlsx'),A,'sheet1','A1');
end
2.导出数据写入同一excel的同一sheet
(1)假如有5个数据,每循环一次写入一个数据,从A1写到E1
for i=1:5
xlswrite('name.xlsx',A,'sheet1',[char(64+i),'1'])
end
注:64+i是ascii码,代入i值对应65-69,用char函数转换出来即为字符A-E。
(2)假如有5个数据,每循环一次写入一个数据,从A1写到A5
for i=1:5
xlswrite('name.xlsx',A,'sheet1',['A',num2str(i)])
end
(3)假如循环一次写入多组数据,需占据一个矩形区域
xlswrite('name.xlsx',A,'sheet1','A1:B2')
根据实际需要由上述三种情况组合,可以实现多种写入方式。
3.导出数据写入同一excel的不同sheet
for 1:k
xlswrite('name1.xlsx',colname,strcat('name2',num2str(i)),'A1'); %写入表头,需提前命令colname内容
xlswrite('name1.xlsx',A,strcat('name2',num2str(i)),'A2');
end
注:Excel最多可以储存65536行256列;写入数据必须是同一类型,不同类型的数据要分开写入。