资源描述:
《关于matlab读取excel以及处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在许多时候我们要借助于matlab读取excel的内容进行处理,一下是一种常用的处理方法 office的表格文件也就是xls文件本质上就是一个二维矩阵,二维矩阵是用来保存数据的最佳方式,所以在日常工作中,我们从其它地方获取的数据通常都被保存为xls格式,但处理数据时,我们却需要把xls文件的数据导入到matlab里进行处理。 如果你只处理一个文件并且只做一次的话,你可以手动来拷贝粘贴,这花费不了你太多时间。如果有很多xls文件,或者你的xls文件的内容可能随时被修改,那么下面的方法可以派上用场。 matlab自身提供了大量的函数,包括读取of
2、fice文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。 xlsread对于纯数据的xls文件支持很完美,也就是说当xls文件里的每个格子都是“数”时,xlsread会直接返回一个实数矩阵。但是通常我们拿到xls文件并不是这样,它的表头多半是描述性文字,它的数据也有可能是文字,有些位置的数据还有可能是缺失的。xlsread对这样的文件读取无能为力,或者说需要大量的时间去协调数据的位置信息。要是有一个函数,能够按照原有的顺序直接读取所有的单位格数据就好了。当然,这时候返回的
3、矩阵就不能是一个数值矩阵了,它将会是一个cell矩阵,里面的每个元素类型可能不一样。 matlab本身并不提供这个功能,但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去OfficeDoc官方网站上去下载,解压缩后放到工作路径上即可。使用方法可以查询helpofficedoc。officedoc是收费函数包,但有免费版本,而且其免费版本可以实现上面我们所说的效果(收费版本主要是可以用来修改office文件)。 例子: 在matlab中读取xls格式的文件内容如应用如下函数: 1.bb=xlsread('c:f
4、eature.xls','a0:an40'),其中:c:feature.xls为文件存放的地址,a0:a40为将要读取的单元格的范围.bb为读取的矩阵在MATLAB中的变量名. 2.使用m文件脚本如下: Excel=actxserver('Excel.Application'); set(Excel,'Visible',1); Workbooks=Excel.Workbooks; Workbook=invoke(Workbooks,'Open',[cd,'featureABC.xls']);%%
5、 读取ABC.xls:sheet1 a1(即R1C1)~an40(即R240c40)范围内的 40by40 矩阵 read_excel=ddeinit('excel','ABC.xls:sheet1'); feature1=ddereq(read_excel,'R1c1:R40c40'); feature1%% 关闭ABC.xls invoke(Excel,'Quit'); delete(Excel); 注意:在使用时将m文件与xls文件存于同一个目录下.另外:sheet1:可以重命名,且读取s
6、heet的名称要和实际存放的名称相同.matlab读取excel,txt文件函数注意matlab不识别中文,读写的文件中最好不含有中文excel读取函数xlsreadtext 读取函数csvreadXLSREADGetdataandtextfromaspreadsheetinanExcelworkbook. [NUMERIC,TXT,RAW]=XLSREAD(FILE)readsthedataspecifiedintheExcel file,FILE.ThenumericcellsinFILEarereturnedinNUMERIC,thetext ce
7、llsinFILEarereturnedinTXT,whiletheraw,unprocessedcell contentisreturnedinRAW. [NUMERIC,TXT,RAW]=XLSREAD(FILE,SHEET,RANGE)readsthedataspecified inRANGEfromtheworksheetSHEET,intheExcelfilespecifiedinFILE. Itispossibletoselecttherangeofdatainteractively(seeExamples below).Pl