如何修改MATLAB中的xlswritefig以使用已经存在的文件?

有一个函数写入添加到Excel文件的情节: http : //www.mathworks.com/matlabcentral/fileexchange/24424-xlswritefig但它是旧的,不工作的方式,我需要它。

我如何适应这段代码写入已经存在的文件(正在创build)? 例如,如果我有这个很好的线:

xlswrite(filename, percentError, 1, 'C4'); 

我想在数据旁边放一个数字,我想写一些东西:

 xlswritefig(gcf, filename, 'Sheet1', 'E2') 

这似乎应该工作,但我得到一个长的错误:

错误使用Interface.000208DB_0000_0000_C000_000000000046 /调用调用错误,调度exception:源:Microsoft Excel描述:'C:\ Users \ User \ Documents \ MATLAB \ C:\ Users \ User \ Dropbox \ MATLAB \ 002 Human Machine \ v6_1 \ results_20131102_222147。 xlsx'找不到。 检查文件名称的拼写,并validation文件位置是否正确。

如果您尝试从最近使用的文件列表中打开该文件,请确保该文件未被重命名,移动或删除。 帮助文件:xlmain11.chm帮助上下文ID:0

xlswritefig错误(第79行)op = invoke(Excel.Workbooks,'open',[pwd filesep filename]);

CalcResults_v6_1错误(第226行)xlswritefig(gcf,filename,'Sheet1','E2')

有什么想法吗? 该文件显然存在,因为它是用数据创build和写入的,但是写入xlswritefig的方式(或者我调用它的方式)不会让我给已经存在的文件写一个数字。

谢谢!

错误来自xlswritefig的调用。

  • 你需要把你的excel文件放在包含matlab脚本的文件夹中,
  • 调用xlswritefig文件名不包括其path(只是文件名)。

如果您使用的不是matlab脚本的Excel文件,则需要将[pwd filesep filename]更改为[filename] (xlswritefig.m的第75和80行)。