转自:https://blog.csdn.net/thy19988/article/details/78489623
1.使用函数xlsread读取单个文件
(1)num=xlsread(filename)
filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数据区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入数据区域;另外如果在数据区域中含有非数值的单元,将其处理为nan。
(2)num = xlsread(filename, -1)
输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。
(3)num = xlsread(filename, sheet)
其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。
(4)num = xlsread(filename,sheet, \'range\')
其中range指定一个矩形的区域,用单引号括起来;例如:\'D2:H4\'代表以D2和H4为对角定点的矩形域;
注意当excel中有合并单元格时,任何一个合并前的单元格的名字(比如D1)都会指代整个合并后的单元格,而将整个单元格读入,所以为了避免麻烦,尽量避免在需要读入的表格中合并单元格。
例如:将读取D盘下的一个文件路径为:D:/test/daxia.xls
num = xlsread(\'d:/test/daxia.xls\',2,\'D2:H4\')读取sheet2的D2:H4区域数据
如果要进行交互式的选择用:num= xlsread(\'d:/test/daxia.xls\',-1)
2.批量的文件要读取
首先将多个文件进行批量重命名例如daxia1.xls,daxia2.xls,daxia3.xls,...
然后用循环的方式实现:
for i=1:100
filename=[\'d:/test/daxia\',num2str(i),\'.xls\'];
num=xlsread(filename)
end
下面我就通过实例介绍一下MATLAB如何导入excel数据。
1. 读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread(\'example\'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread(\'example\'),只输出数据矩阵便可。
2、读取指定sheet的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread(\'example\',2),回车
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread(\'example\',2,\'A3:D7\'),回车。