示例1:向Excel工作表写入数据

下面的例子把MATLAB作为自动化客户端,把Excel作为服务器端。首先用actxserver函数创建Excel应用,然后用Workbooks集合对象的Add方法添加一个新的工作簿并使之可见。获取工作簿中的第一个工作表,向A1:B2单元格区域写入数据。

code.matlab
>;> %首先,打开一个Excel服务器
>> app=actxserver('excel.application');
>;> %插入一个新的工作薄
>> bk=app.Workbooks.Add;
>> app.Visible=1;
>;> %激活第1个表
>> shts=app.ActiveWorkbook.Sheets;
>> sht=shts.get('Item',1);
>;> %把MATLAB数组写入Excel工作表
>> A=[1 2 ; 3 4];
>> rng=sht.get('Range', 'A1:B2');
>> rng.Value=A;
>;> %保存工作薄
>> bk.SaveAs('d:\myfile.xlsx');
>;> %退出Excel并删除服务器
>> app.Quit;
>> app.delete;

在命令窗口中输入以上命令后,启动Excel并在工作表中输入一个MATLAB数组的值,然后保存到D盘下,文件名为“myfile.xlsx”,如图1-2所示。

Document Image

图1-2 Excel作为服务器端