1

编写了一个函数来将绘图添加到 Excel 文件: http: //www.mathworks.com/matlabcentral/fileexchange/24424-xlswritefig 但它很旧并且不能按我需要的方式工作。

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

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

我想在数据旁边放一个数字,我想写如下内容:

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

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

使用接口时出错。000208DB_0000_0000_C000_000000000046/invoke 调用错误,调度异常:来源: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,文件名,'Sheet1','E2')

有什么想法吗?该文件显然存在,因为它是创建并使用数据写入的,但是 xlswritefig 的写入方式(或我称之为的方式)不会让我将图形写入现有文件。

谢谢!

4

1 回答 1

1

错误来自xlswritefig.

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

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

于 2013-11-04T13:37:44.673 回答