writetable() does not close file after writing
16 ビュー (過去 30 日間)
古いコメントを表示
When using writetable Matlab opens an Excel file and I can see how columns are being filled.
However, the created file is not closed afterwards which it used to do but doesn't anymore.
Since the code may run in a loop for several days I may not always be around to close these files manually
To kill Excel entirely is not desireable as other Excel files, unrelated to the MatLab code, may be open.
I did try fopen and fclose but to no avail.
Any ideas? Is it possible that the issue lies in the Excel setting?
This is my code
% Export table output
disp(' > Output exportieren')
outputpath='C:\drive\folder\';
outputname='Table_output';
outputfile=strcat(outputpath,outputname,'_',datestr(now,'dd.mm.yyyy'),'.xlsb');
writetable(E,outputfile)
1 件のコメント
Walter Roberson
2020 年 12 月 9 日
You could try
writetable(E, outputfile, 'useexcel', true)
but I am not clear that would help.
In the release you are using, the default for useexcel is false, so it should not be invoking Excel. But I cannot say at the moment whether it leaves the file open internally for efficiency reasons; I would not rule it out.
回答 (2 件)
Théophane Dimier
2020 年 12 月 9 日
Using an actxserver (see here ) instead of Matlab built-in function would give you complete control on which file is open or not, and you could even close excel directly from your matlab code, without having to kill the process.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Spreadsheets についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!