如何通过.NET代码杀死Excel.exe?

Ami*_*mit 4 c# excel

实际上我正在编写一个小应用程序(WinForms + C#),我正在阅读Excel文件.退出应用程序并转到任务管理器后,我发现Excel.exe仍在运行.当我多次运行我的应用程序时,我发现在任务管理器中运行了多个Excel.exe实例.

那么有人可以告诉我每次退出应用程序时需要做什么来杀死"Excel.exe"...

代码有点像这样:

ApplicationClass appClass = new ApplicationClass();
Workbook workBook = appClass.Workbooks.Open(path, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Worksheet workSheet = (Worksheet) workBook.ActiveSheet;
Run Code Online (Sandbox Code Playgroud)

全部在此命名空间下:Microsoft.Office.Interop.Excel; 这是COM

Tim*_*son 9

你是如何阅读Excel文件的?如果您使用的是COM,则需要Application.Quit在完成后拨打电话.

编辑:从评论中的代码 -

//Initializing the application class
ApplicationClass appClass = new ApplicationClass();
try
{
    Workbook workBook = appClass.Workbooks.Open(path,0,true,5,"","",true,XlPlatform.xlWindows,"\t",false,false,0,true,1,0);
    Worksheet workSheet = (Worksheet)workBook.ActiveSheet;
    // do stuff with the workbook
}
finally
{
    appClass.Quit();
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*ian 5

而不是杀死进程...为什么不正确处理Excel句柄呢?听起来像是打开Excel实例而没有正确关闭它们.在使用它们之后也发布获得的资源通常是个好主意.