分享一个基于matlab的批量处理表格的小程序(再也不用复制粘贴啦!)

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数据    逐行写入excel

for 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

发布了41 篇原创文章 · 获赞 65 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/cindy647/article/details/80806520