Excel.EXE remains in memory

H

harshu4u

Hello All,

We are generating excel sheets using COM Interop. When the sheet
generation is successful, it removes the EXCEL.EXE from the task
manager. However, if we have any error in the application, the
EXCEL.EXE remains in memory (can see it in task manager). What are we
doing wrong? Any inupt will be highly appreciated.

Here's the cleanup code:

finally
{
if (module != null)
Marshal.ReleaseComObject(module);
if (range != null)
Marshal.ReleaseComObject(range);
if (color != null)
Marshal.ReleaseComObject(color);
if (sheet1 != null)
Marshal.ReleaseComObject(sheet1);
if (sheet2 != null)
Marshal.ReleaseComObject(sheet2);
if (sheet3 != null)
Marshal.ReleaseComObject(sheet3);
if (workbook != null)
Marshal.ReleaseComObject
(workbook);
if (excelApp != null)
Marshal.ReleaseComObject(excelApp);

module = null;
range = null;
color = null;
sheet1 = null;
sheet2 = null;
sheet3 = null;
workbook = null;
excelApp = null;
}


Thanks,
Harshu
 
A

Andrew Taylor

Try adding the lines

workbook.close
excelApp.Quit

before destroying the objects.
 
P

Pflugs

I have this same problem, and I am using ActiveWorkbook.close and
Excel.Application.Quit before destroying the objects. I still have Excel.exe
in memory. Is there anything else I can do?

Thanks.

Pflugs
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top