Zombie processes after xlsread/write
3 views (last 30 days)
Show older comments
Every time I execute a line with either xlsread or xlswrite, Windows XP creates a new EXCEL process. After a while, the system stops working because there are too many processes.
How do I find and kill these processes from within Matlab? I can do it manually, but it's a pain.
Jim Brown
1 Comment
Walter Roberson
on 16 Jun 2012
Image Analyst has posted ActiveX code showing how to replace multiple xlsread / xlswrite calls with opening the engine once, doing the required activity, and then closing the engine.
Answers (1)
Image Analyst
on 16 Jun 2012
xlsread() and xlswrite() should shut down Excel when they're done. If they don't, then contact the Mathworks or check your Excel options. Maybe some Excel option is prompting you for something but you don't see it because those functions operate with Excel.visible = false. But like Walter said if you want to write out stuff in several calls you definitely DON'T want to use xlswrite() because it will be very very slow because it has to launch, write, and shut down Excel each time, which is very time consuming. You want to learn ActiveX. Search for my code. It's not that hard and gives you so much more flexibility for things like formatting cells (widths, fonts, borders, etc.).
0 Comments
See Also
Categories
Find more on ActiveX in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!