Main Content

使用 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)

注意

确保关闭您所创建的工作簿对象,以防止潜在的内存泄漏。

另请参阅

相关主题