作者:乔山办公网日期:
返回目录:excel表格制作
matlab读取excel文件百可用xlsread函数,向excel中写数据可用xlswrite函数。
注意:matlab不识别中文度,读写的文件中最好不含有中文。
举例说明如下:
1、matlab读取知excel文件数据:
bb = xlsread('c:\feature.xls', 'A0:A40');
其中:
c:\feature.xls为文件存放的道地址;
A0:A40为将要读取的单元格的范围;
bb为读取的矩阵内在MATLAB中的变量名。
2、matlab向excel文件写数据:
a1={'number'};
b1={'scoreA'};
c1={'scoerB'};
A=rand(100,3).*100;
xlswrite('a.xls',a1,'Sheet1','A1'); % a.xls是文件名,Sheet1是xls中第一个页面容,A1为写入位置,下同
xlswrite('a.xls',b1,'Sheet1','B1');
xlswrite('a.xls',c1,'Sheet1','C1');
xlswrite('a.xls',A,'Sheet1','A2:C101');
将您的所有excel数据存到同一个目录下,下面的”'E:\Software\Matlab\bin\“是7a64e59b9ee7ad94337我的测试路径,您可修改为您的路径;将下面的脚本程序保存到上述路径并命名为”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
你可以直接在m文件里面用百xlswrite函数:(filename/sheet/range都是要加单引号滴)
xlswrite(filename, M);将矩阵M的数据写入名为filename的Excel文件中度。知
xlswrite(filename, M, sheet);将矩阵M的数据写入文件名为filename中的指定的sheet中。
xlswrite(filename, M, range);将矩阵M中的数据写入文件名为filename的Excel文件中,且由range制定存储的区域,例如'C1:C2'.
xlswrite(filename, M, sheet, range) ;在上一条命道令的基础上指定了所要存储的sheet。
status = xlswrite(filename, ...) ;返内回完成状态值。如果写入成功,则status为1;反之写入失败,则status为0.
[status, message] = xlswrite(filename, ...);返回由于写入操作而产生的容任何错误或警告信息
1.用xlsread指令将excel文件中的数抄据读入MATLAB,设excel文件名为“filename.xls",读入指令为
matrix1 = xlsread("filename.xls");
执行该指令后excel中的数据知将会被MATLAB自动存为矩阵,可以双击MATLAB Workspace 中的变量matrix1查看该矩阵的值。若不想每次都读入xls文件,可再用如下指令将导入的数据存储为名为data1的二进制文档:
save data1 matrix1;
这时可以看到MATLAB界面的左上角的Current Folder中多出了一个data1.mat文件,这就是我们保存的数据。以后如果要对该数据进行操作,只要执行:
load("data1.mat");
就可以把之前存好的数据载入MATLAB并进行后续操作。
对于多个excel文件,您只要进行如上道相同的操作就OK了。
2.您也可以使用MATLAB界面中导入数据选项卡”Import data"导入数据,其具体位置如下图红色框框标示: