Zombie processes after xlsread/write

3 ビュー (過去 30 日間)
Jim Brown
Jim Brown 2012 年 6 月 16 日
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 件のコメント
Walter Roberson
Walter Roberson 2012 年 6 月 16 日
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.

サインインしてコメントする。

回答 (1 件)

Image Analyst
Image Analyst 2012 年 6 月 16 日
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.).

カテゴリ

Help Center および File ExchangeActiveX についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by