我想覆盖在Windows上的Matlab中已经存在的csv文件。问题是有时我在Excel中打开文件。在这种情况下,写入操作失败。如何打开已经与文件共享权限打开的文件
有无论如何覆盖在Matlab文件?我不想使用ActiveX连接到Excel会话并以这种方式编辑文件。
看到this post about FileShare settings让我觉得这可能是可能的,但没有一个fopen参数似乎能够做到这一点。 Excel可能会使用独占写入访问来锁定文件,在这种情况下,没有办法绕过它。有谁知道如何检查这个?问题
例子:
% make csv file
x = magic(4);
csvwrite('foo.csv', x);
% open foo.csv in EXCEL
% try writing again
csvwrite('foo.csv', x); % cannot write a new file
[fid, msg] = fopen('foo.csv' ,'w'); % cannot open handle for writing
作为一个方面说明,我曾经是能够覆盖文件在Excel中打开时,该文件在Linux中存在,我在网络上打开文件在Windows机器上。
您是否尝试以只读模式在Excel中打开文件? – katrasnikj 2012-01-18 14:45:30
我敢肯定,这将工作,但我很懒,不想手动决定我想编辑哪些文件,哪些我可能会覆盖在Matlab中。 – 2012-01-18 15:07:18