通过Matlab打开MS Excel

有没有办法如何使Matlab直接在MS Excel中打开Excel文件? 我不是说只是读取数据,而是实际打开MS Excel。 我有一个处理一些数据并保存到.xlsm的脚本。 这个.xlsm包含auto_openmacros,它会生成一个报告并将其保存到另一个.xls中。 我希望过程尽可能自动化。 到目前为止,当matlab脚本结束时,需要手动打开.xlsm文件。 是否有可能通过Matlab来做到这一点? (.m文件和.xlsm位于相同的文件夹中。)

打开(但不closures)Excel文件最简单的方法是使用WINOPEN :

winopen('myFile.xlsx') 

Excel有一个强大的COM接口,可以让你从另一个应用程序控制它。

在这里看看事物的matlab方面

http://www.mathworks.co.uk/help/techdoc/ref/actxserver.html

在这里举一个例子,把它放在一起。 。 。

https://www.quantnet.com/forum/threads/interface-between-matlab-vba-excel.2090/

或者这是另一个例子

http://www.mathworks.co.uk/support/solutions/en/data/1-716EAM/index.html?solution=1-716EAM

对的,这是可能的。 Matlab可以使用Excel的自动化界面来做这个和类似的任务。 下面的代码加载Excel,然后加载工作簿:

 try w = actxserver('Excel.Application'); % Fails if Excel not installed catch w = []; end if ~isempty(w) w.Workbooks.Open('D:\Documents\MATLAB\file.xlsx'); % Your code here; w.Quit; end delete(w); 

您需要查看Microsoft自动化界面的Microsoft文档,找出您需要发送的命令。 尝试从这里开始。 我已经使用这种技术来从Matlab驱动Word来生成报告文档,但是我从来没有用过这种方法,所以不幸的是,我不能帮助你的血淋淋的细节!