How to close Excel-file after writetable()?

48 vues (au cours des 30 derniers jours)
Reinhard Palaver
Reinhard Palaver le 10 Oct 2016
Commenté : Image Analyst le 26 Juin 2020
I want to use writetable() for an Excel-file in a for-loop. But at the second loop it stops with an error, because the first file is still open and there is no permission. Before I'd open a new folder for the new excel-file, but it doesn't work in this way now, because the file is still open.

Réponse acceptée

Image Analyst
Image Analyst le 10 Oct 2016
Modifié(e) : Image Analyst le 10 Oct 2016
I got this from the Mathworks directly:
You can use the following SYSTEM command via MATLAB to kill the process:
>> system('taskkill /F /IM EXCEL.EXE');
  4 commentaires
Reinhard Palaver
Reinhard Palaver le 12 Oct 2016
Hi Image Analyst,
instead of closing excel completely with unwished consequences I've found a similiar command like following which only is closing the specific spreadsheet:
system('taskkill /F /FI "WINDOWTITLE eq xy*"');
But once more thanks for your hint, because this was the way to solve it!
Md Bhuyian
Md Bhuyian le 25 Juin 2020
I created an excel file named Comparison.xlsx. How do I only close that excel uding this command?

Connectez-vous pour commenter.

Plus de réponses (2)

Reinhard Palaver
Reinhard Palaver le 11 Oct 2016
Now I've an addtional problem. In a for-loop I've to use wait, until the batch is finished, otherwise it doesn't work in they way I want to have. And it's closing "all" excelfiles.
So now I'm looking for a function to close only the specific file after writing.

Walter Roberson
Walter Roberson le 11 Oct 2016
Use table2cell() to create a cell array, and use xlswrite1() from the File Exchange, as that gives you an interface in which you have specific control over closing the spreadsheet.
  5 commentaires
Md Bhuyian
Md Bhuyian le 25 Juin 2020
I am getting the following error:
Undefined function or variable 'workbooks'
Image Analyst
Image Analyst le 26 Juin 2020
You must have changed the file. There is no workbooks variable in the attached function. You forgot to give the complete error which included the line of code so I don't know how you modified the function. Nevertheless, that demo is from 4 years ago and I have a new one, which I'm attaching here. And I just ran this so I know it works.
Plus I attached a second, separate demo showing how to put a formula into an Excel cell.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by