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!