Zombie processes after xlsread/write

1 visualización (últimos 30 días)
Jim Brown
Jim Brown el 16 de Jun. de 2012
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 comentario
Walter Roberson
Walter Roberson el 16 de Jun. de 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.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 16 de Jun. de 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.).

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by