使用 Excel 作为自动化服务器写入电子表格数据
此示例显示如何将 MATLAB® 矩阵写入 Excel® 电子表格。有关将 MATLAB 数据导出到 Microsoft® Excel 电子表格的备选方法,请参阅电子表格中的函数和示例。
创建 Excel 对象。
e = actxserver('Excel.Application');
添加一个工作簿。
eWorkbook = e.Workbooks.Add; e.Visible = 1;
激活第一个工作表。
eSheets = e.ActiveWorkbook.Sheets;
eSheet1 = eSheets.get('Item',1);
eSheet1.Activate
将 MATLAB 数据置入工作表。
A = [1 2; 3 4]; eActivesheetRange = get(e.Activesheet,'Range','A1:B2'); eActivesheetRange.Value = A;
将数据读回 MATLAB,其中的数组 B
为元胞数组。
eRange = get(e.Activesheet,'Range','A1:B2'); B = eRange.Value;
将数据转换为双精度值矩阵。如果元胞数组仅包含标量值,则使用以下命令。
B = reshape([B{:}],size(B));
在文件中保存工作簿。
SaveAs(eWorkbook,'myfile.xlsx')
如果 Excel 程序显示关于保存文件的对话框,请选择相应的响应以继续。
如果已保存文件,则关闭工作簿。
eWorkbook.Saved = 1; Close(eWorkbook)
退出 Excel 程序并删除服务器对象。
Quit(e) delete(e)
注意
确保关闭您所创建的工作簿对象,以防止潜在的内存泄漏。