① num = xlsread(filename) 读取名为 filename 的 Microsoft® Excel® 电子表格工作表中的第一张工作表,并在一个矩阵中返回数值数据。
例子:创建一个名为 myExample.xlsx 的 Excel 文件。
values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First','Second','Third'};
xlswrite('myExample.xlsx',[headers; values]);
myExample.xlsx 的 Sheet1 包含:
First Second Third
1 2 3
4 5 x
7 8 9
读取第一个工作表中的数值数据。
filename = 'myExample.xlsx';
A = xlsread(filename)
A =
1 2 3
4 5 NaN
7 8 9
② num = xlsread(filename,sheet) 读取指定的工作表。
③ num = xlsread(filename,xlRange) 从工作簿的第一个工作表的指定范围内读取数据。使用 Excel 范围语法,例如 'A1:C3'。
例子:从上一示例的 Excel 文件中读取特定范围的数据。
filename = 'myExample.xlsx';
sheet = 1;
xlRange = 'B2:C3';
subsetA = xlsread(filename,sheet,xlRange)
subsetA =
2 3
5 NaN
④num = xlsread(filename,sheet,xlRange) 读取指定的工作表和范围。
⑤num = xlsread(filename,sheet,xlRange,'basic') 在 basic 导入模式下读取电子表格中的数据。如果您的计算机未安装 Windows® 版 Excel 或者您正在使用 MATLAB® Online™,xlsread 会自动在 basic 导入模式下运行,该模式支持 XLS、XLSX、XLSM、XLTX 和 XLTM 文件。
如果不指定所有参数,请使用空字符向量 '' 作为占位符,例如,num =xlsread(filename,'','','basic')。
常见报错:
在正确使用函数语法下,依然会产生报错,我们点开line 257,
出现这一报错,一般是因为Excel的COM加载项增多了。我们在安装Foxit Reader、EViews等软件时,在默认情况下,会增加Excel的COM加载项。所以,当MATLAB报错:错误使用xlsread(line257)时,我们需要检查Excel的COM加载项,去掉新增加载项前面的勾选符号。
首先,打开a1.xlsx,在菜单栏中,找到文件,点击选项。
然后,在Excel选项设置中,切换到加载项设置。在加载项设置中,软件默认是管理Excel加载项,而我们需要管理的是COM加载项,因此,需要在管理的下拉菜单中,选择COM加载项,而后点击转到。
接着,去掉COM加载项中新增项(笔者这里是comsol 5.4)前面的勾选符号,并单击确定。
关闭a1.xlsx,再次运行命令——xlsread('a1.xlsx'),MATLAB的命令行窗口显示a1.xlsx中的数据被成功读取,无报错。