我想覆蓋在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