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

时间:2013-11-03 19:48:20

标签: excel matlab plot

有一个函数可以将图表添加到Excel文件中: http://www.mathworks.com/matlabcentral/fileexchange/24424-xlswritefig 但它已经老了,不能按我需要的方式工作。

如何调整此代码以写入已存在(正在创建)的文件?例如,如果我的这条线路运行良好:

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

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

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

这似乎应该可行,但我得到一个很长的错误:

使用Interface.000208DB_0000_0000_C000_000000000046 /调用调用错误,调度异常时出错:源:Microsoft Excel说明:'C:\ Users \ User \ Documents \ MATLAB \ C:\ Users \ User \ Dropbox \ MATLAB \ 002 Human Machine \ v6_1无法找到\ results_20131102_222147.xlsx'。检查文件名的拼写,并验证文件位置是否正确。

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

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

calcResults_v6_1中的错误(第226行)xlswritefig(gcf,filename,'Sheet1','E2')

有什么想法?该文件显然存在,因为它是用数据创建和写入的,但xlswritefig的编写方式(或者我调用它的方式)不会让我将数字写入现有文件。

谢谢!

1 个答案:

答案 0 :(得分:1)

错误来自xlswritefig

  • 您需要将excel文件放在包含matlab脚本的文件夹中,
  • 使用不包含其路径的文件名(仅文件名)调用xlswritefig

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