1、2023-5-5主要内容主要内容 利用数据导入向导导入利用数据导入向导导入Excel文件文件 调用函数读写调用函数读写Excel文件文件 Excel-Link宏宏2023-5-5第一节第一节 利用数据导入向导导入利用数据导入向导导入Excel文件文件2023-5-5【例例7.1-1】把把Excel文件文件examp7_1_1.xls中的数据导入到中的数据导入到MATLAB工作空间。工作空间。examp7_1_1.xls中的数据格式如图中的数据格式如图7.1-1所所示。示。2023-5-5第二节第二节 调用函数读写调用函数读写Excel文件文件2023-5-5一、调用一、调用xlsfinfo函数
2、获取文件信息函数获取文件信息1.xlsfinfo函数调用格式函数调用格式 typ,desc,fmt =xlsfinfo(filename)目标文件类型目标文件类型工作表名称工作表名称软件版本软件版本目标文件名目标文件名2023-5-5 typ,desc,fmt=xlsfinfo(excel.xls)system(taskkill/F/IM EXCEL.EXE);【例例7.2-1】调用调用xlsfinfo函数读取函数读取Excel文件。代码保存在文件。代码保存在m文件文件CaseXlsRead.m中。中。2023-5-5二、调用二、调用xlsread函数读取数据函数读取数据1.xlsread函数
3、调用格式函数调用格式 num,txt,raw=xlsread(filename,sheet,range)读取的数值型数据读取的数值型数据读取的文本数据读取的文本数据未经处理的元胞数组未经处理的元胞数组目标文件名目标文件名工作表序号或名称工作表序号或名称读取的单元格区域读取的单元格区域2023-5-5%第一种方式:第一种方式:num=xlsread(examp7_1_1.xls,A2:H4)%第二种方式:第二种方式:num=xlsread(examp7_1_1.xls,1,A2:H4)%第三种方式:第三种方式:num=xlsread(examp7_1_1.xls,Sheet1,A2:H4)【例例
4、7.2-2】调用调用xlsread函数读取文件函数读取文件examp7_1_1.xls第第1个工作个工作表中区域表中区域A2:H4 的数据。的数据。2023-5-5 convertdata=xlsread(examp7_1_1.xls,A2:C3,setplusone1)convertdata=2 60102 6010102 3 60102 6010103【例例7.2-3】将文件将文件examp7_1_1.xls第第1个工作表中个工作表中A2至至C3单元格单元格中的数据加中的数据加1,并读取变换后的数据。,并读取变换后的数据。其中其中setplusone1函数的源码见函数的源码见setplus
5、one1.m2023-5-5三、调用三、调用xlswrite函数把数据写入函数把数据写入Excel文件文件1.xlsread函数调用格式函数调用格式 status,message=xlswrite(filename,M,sheet,range)写操作指示变量写操作指示变量写入的的数据矩阵写入的的数据矩阵警告或错误信息警告或错误信息目标文件名目标文件名工作表序号或名称工作表序号或名称写入的单元格区域写入的单元格区域2023-5-5 X=rand(10,10);status,message=xlswrite(excel.xls,X,sheet2)system(taskkill/F/IM EXCEL
6、.EXE)【例例7.2-4】生成一个生成一个1010的随机数矩阵,将它写入的随机数矩阵,将它写入Excel文件文件excel.xls的第的第2个工作表的默认区域。代码保存在个工作表的默认区域。代码保存在m文件文件CaseXlsWrite.m中。中。2023-5-5第三节第三节 Excel-Link宏宏2023-5-5一、一、Excel2003加载加载Excel-link宏宏2023-5-5二、使用二、使用Excel-link宏宏1.启动启动matlabstartmatlab选项用来启动选项用来启动matlab,单击,单击startmatlab选项可选项可以启动以启动matlab,但只会启动,但
7、只会启动matlab命令窗口(命令窗口(MATLAB Command Window)。)。2023-5-52.传输传输Excel数据到数据到matlab中中通过通过putmatrix选项将选项将Excel中的数据传输到中的数据传输到matlab中。选中。选中中Excel表格中要传输的数据区域,单击表格中要传输的数据区域,单击putmatrix选项,选项,将弹出将弹出“Microsoft Excel”界面,在界面的编辑框中输入界面,在界面的编辑框中输入变量名,然后单击变量名,然后单击“确定确定”按钮即可。按钮即可。2023-5-53.传输传输matlab计算结果到计算结果到Excel中中将光标放
8、到将光标放到Excel空白单元格,单击空白单元格,单击getmatrix选项,将再选项,将再次弹出次弹出“Microsoft Excel”界面。在界面的编辑框中输入界面。在界面的编辑框中输入待传输的变量名,然后单击待传输的变量名,然后单击“确定确定”按钮即可。按钮即可。2023-5-54.在在Excel中执行中执行matlab命令命令将将Excel中的数据以变量形式传输到中的数据以变量形式传输到matlab之后,还可以之后,还可以直接在直接在Excel中运行中运行matlab命令,以完成相应的计算。单命令,以完成相应的计算。单击击evalstring选项,弹出选项,弹出“Microsoft E
9、xcel”界面,在编辑界面,在编辑框中输入框中输入matlab命令,然后单击命令,然后单击“确定确定”按钮即可完成按钮即可完成计算。计算。2023-5-5三、三、Excel2007与与Excel2010加载和使用宏加载和使用宏1.加载宏加载宏打开打开“文件文件”菜单,单击菜单,单击“选项选项”,在弹出的,在弹出的Excel选项选项界面单击界面单击“加载宏加载宏”选项,然后单击选项,然后单击“转到转到(G)”按钮,弹按钮,弹出加载宏界面,下面的步骤与出加载宏界面,下面的步骤与Excel2003加载加载Excel-link宏宏相同。相同。2023-5-52.使用使用Excel-link宏宏wiza
10、rd选项选项单击单击wizard选项,弹出选项,弹出Matlab函数向导(函数向导(MATLAB Function Wizard)界面。利用此界面可以在)界面。利用此界面可以在Excel中通过中通过界面操作的方式调用界面操作的方式调用matlab函数。函数。2023-5-53.使用使用Excel-link宏宏getfigure选项选项单击单击getfigure选项可以将绘制的图形传输到选项可以将绘制的图形传输到Excel工作表中工作表中2023-5-54.使用使用Excel-link宏宏preferences选项选项单击单击preferences选项,弹出属性设置界面(选项,弹出属性设置界面(MATLAB Preferences)。默认情况下,)。默认情况下,“Start MATLAB at Excel startup”选项处于勾选状态,这样就实现了在打开选项处于勾选状态,这样就实现了在打开Excel的的同时启动同时启动matlab,如果用户不愿同时启动,如果用户不愿同时启动Excel和和matlab,需要取消需要取消“Start MATLAB at Excel startup”选项的勾选选项的勾选状态。状态。