Не удается закрыть Excel в диспетчере задач

После создания объекта Excel не удается его закрыть: он также висит диспетчере задач:

 Excel.Application ObjWorkExcel = new Excel.Application();
 Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Add();
 Excel.Worksheet ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
 ObjWorkSheet.Cells[1, 1] = // Заполнение документа;

Пробовал закрыть различными способами:

  ObjWorkExcel.DisplayAlerts = false;
  ObjWorkExcel.Workbooks.Close();
  ObjWorkExcel.Quit();
  ObjWorkBook.Close(false, Type.Missing, Type.Missing);
   

  Marshal.ReleaseComObject(ObjWorkExcel);
  Marshal.ReleaseComObject(ObjWorkBook);
  Marshal.ReleaseComObject(ObjWorkSheet);
  Marshal.FinalReleaseComObject(ObjWorkExcel);
  GC.Collect();
  GC.WaitForPendingFinalizers();

Сработал только способ Process.kill, однако тогда закрываются все открытые экселевские документы, что мне не подходит. Помогите, пожалуйста, решить эту проблему


Ответы (1 шт):

Автор решения: Igor Ilyichyov

Закиньте все в Try Catch И в конце сделайте:

            finally
            {
                wb?.Close(false, filePath);

            if (xlSheets != null)
                Marshal.ReleaseComObject(xlSheets);
            if (excel != null)
                Marshal.ReleaseComObject(excel);
            if (wb != null)
                Marshal.ReleaseComObject(wb);
            }
→ Ссылка