删除C#中的excel文件,Taskmanager进程不会停止

我正在处理一个wpf应用程序。

我将数据复制到Excel数据库表中,并保存文件并在操作完成后closures它。

我的问题是:

如何在TaskManager->进程中停止进程(EXCEL.EXE)?

操作完成后,我必须删除这个文件。 我写了一段代码来停止taskmanager中的进程,但没有工作..

private void EndExcelAPP(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); } catch { } finally { obj = null; } } 

我也不能删除它,因为它说这个过程被另一个过程使用。

请帮助我如何以编程方式在C#中停止此过程并删除文件?

谢谢

拉姆

您必须确保closures工作簿并退出应用程序:

 Excel.Application xlApp ; Excel.Workbook xlWorkBook ; /* do your stuff */ xlWorkbook.Close(); xlApp.Exit(); Marshal.ReleaseComObject(xlWorkBook); Marshal.ReleaseComObject(xlApp); 

听起来就像你没有清理过自己(或者更确切地说,在Excel之后)。 查看:

如何正确清理C#中的Excel互操作对象

Excel停止在后台运行后,您应该能够删除该文件。 而且你不必编写代码来终止进程。

在发布之前是否closures了工作簿? 这就是我所做的,对我而言。 这是一个例子 。