Каждый раз, когда я запускаю этот код, объект не закрывается. У меня все еще есть excel.exe, работающий в диспетчере задач. Даже если я установлю объекты = null, все равно ничего. Я даже пытался использовать метод объектов .Quit().
Что я здесь делаю неправильно?
private bool ValidateQM()
{
//setup the objects
Excel.Application oXL = null;
Excel.Workbook oWB = null;
Excel.Worksheet oSheet = null;
int hWnd = 0;
try
{
//Start Excel and get Application object.
oXL = new Excel.Application();
hWnd = oXL.Application.Hwnd;
oXL.Visible = false;
//Open the workbook.
oWB = oXL.Workbooks.Open(workingForm, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",true, false, 0, true, false, false);
//Get the Worksheet
oSheet = oWB.Worksheets[1];
//Check the date values
string mydatetime = oSheet.Cells[5, 33].Text.ToString() + " " + oSheet.Cells[7, 33].Text.ToString();
string dateofscore = oSheet.Cells[3, 12].Text.ToString();
DateTime.Parse(mydatetime); //make my string a real boy
DateTime.Parse(dateofscore);
// Cleanup
GC.Collect();
GC.WaitForPendingFinalizers();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oSheet);
//oWB.Close();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oWB);
//oXL.Quit();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oXL);
return true;
}