如何用matlab读取多个excel表格数据,将每个表格数据表示为一个矩阵

一个文件夹下面有几百个excel表格,格式都是一样的,名字是编好号的,从1到717

将您的所有excel数据存到同一个目录下,下面的”'E:\Software\Matlab\bin\“是我的测试路径,您可修改为您的路径;将下面的脚本程序保存到上述路径并命名为”batchread.m",并在MATLAB命令窗口中执行该脚本程序:
%batchread.m
clear;
clc;
getfilename=ls('E:\Software\Matlab\bin\MyKMV\*.xl*'); %取目录下所有excel文件的文件名(.xls或.xlsx)
filename = cellstr(getfilename); %将字符型数组转换为cell型数组
num_of_files = length(filename); %excel文件数目
for i=1:num_of_files %循环读入excel数据并存入结构体database中
database(i) = struct('Name',filename(i),'Data',xlsread(filename{i}));
end
%注:该脚本将所有的excel数据读入到变量database中,database向量的每个元素为一结构,该结构由文件名Name和文件中的数据Data组成,具体访问第i个excel数据的方法为:
database(i).Data
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-27
至于怎么用for循环便捷的读取这这么多表格, 可以问我追问

怎么用循环使得这717个分别对应717个矩阵啊?求帮忙

追答

楼上已经解决啦,
技巧就是建立文件名构成的cell array
方便作循环

第2个回答  2013-07-27
可以用xlsread命令来读取追问

关键是怎么做啊我知道用那个命令 ,代码怎么写 啊 ,比如说我的excel表格已经放在了桌面,如何导入到matlab成为矩阵呢

追答

添加路径即可
[a,b]=xlsread('这里是你自己的路径')
比如[a,b]=xlsread('C:\Downloads\pic\test.xls')

相似回答