Matlab 作为一个数据处理软件,内置了很多很强大的工具箱。在使用matlab处理数据时,通常批量的数据会生成很多独立的表格。如果我们后续要汇总这些表格,单纯用复制粘贴的话太费时间而且机械操作没有意义。由于matlab是可以读取及编辑电脑中的Excel文件的,这里分享一段批量处理Excel文件,汇总到一个文件中去的小程序:
clc
clear
tic
path = 'C:\Users\liusq\Desktop\xiaobo\result_xiaoboquzao\MCS\'; %数据处理前要先设置路径
cd(path);
filename_all=dir('*.xls'); %读取当前文件夹里的所有文件名
counter1 = length(filename_all);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%选择excel包含要存放路径的文件名
select_excel='C:\Users\liusq\Desktop\xiaobo\result_xiaoboquzao\128hz_5xiaobo_all_gaopin.xls';
select_sheet='MCS';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
name_daolian={'FP1','FP2','F3','F4','C3','C4','P3','P4','O1','O2','F7','F8','T3','T4','T5','T6'};
xlswrite(select_excel,name_daolian,select_sheet,'C1:R1'); %%将所有excel名写入 总表格第一列 C1,R1为Excel位置
for i=1:counter1
k=length(filename_all(i).name);
xls_name1=strcat(filename_all(i).name(1:k-22)); %k-22这个在做之前要根据原Excel名称长度调节一下
str={xls_name1};
s=strcat('B',num2str(2+1*(i-1)));%S表示数据放置的位置
xlswrite(select_excel,str,select_sheet,s);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%将所有excel数据 逐行写入excelfor i = 1: counter1
num_in=xlsread([path,'\',filename_all(i).name],1,'C15:R15');%%提取所有数据的位置
s=strcat('C',num2str(2+1*(i-1)));
q=strcat(':R',num2str(2+1*(i-1)));
u=strcat(s,q);
xlswrite(select_excel,num_in,select_sheet,u);
end