运用MATLAB批量读取excel表格
需要待读取的excel表格
Step1:读取数据的路径,通过dir函数获取特定地址文件夹中的文件列表。
path = 'C:\Users\Administrator\Desktop\'; %此处为需要读取的文件所在路径
Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
path是文件夹的路径,strcat是横向连接字符的函数,path为需要批量读取的excel文件的所在路径。
Filesname 为文件路径下的每个xlsx文件的地址和名称。
Step2:循环读取每一个文件的数据,并将其存到一个根据循环命名的与原始数据大小一致的二维矩阵中。
Length = length(Filesname ); %计算文件夹里xls文档的个数
for i = 1:Length %批量读取文件的内容并保存
xls_data = xlsread(strcat(path,Filesname (i).name));
file_name = Filesname ( i ).name;
[m,n] = size(xls_data); %获取读取的单个excel的内容大小
eval(['T',num2str(‘i’),'=','xls_data']);
end
应用length函数获取数组长度(即需要批量处理的excel文件的个数)。
xlsread为MATLAB中excel文件的读取函数,eval函数的功能是将字符串转换为matlab可执行语句。
Step3:完整代码
path = 'C:\Users\Administrator\Desktop\'; %此处文件地址改为需要的文件夹路径
Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
Length = length(Filesname ); %计算文件夹里xls文档的个数
for i = 1:Length %批量读取文件的内容并保存
xls_data = xlsread(strcat(path,Filesname (i).name));
file_name = Filesname (i).name;
[m,n] = size(xls_data);
eval( ['T',num2str(i),'=','xls_data'] );
end
代码仅供参考,希望能帮助到大家!!