天天看点

C#关闭excel进程的安全方法

原文不知道出处了,有知道的告知一下贴个链接。

C#中我用了下面//有用的部分的代码就可以制定清除进程了。

----------------------------------------------------------我不是一个分割线-----------------------------------------------------------------------------

//即使用户手动从界面上关闭了,但是Excel.Exe进程仍然存在,用_xlApp.Quit()退出也不会出错,用垃圾回收彻底清除

_xlApp.Quit();//有用的部分

//System.Runtime.InteropServices.Marshal.ReleaseComObject((object)_xlApp);

generation = System.GC.GetGeneration(_xlApp);//有用的部分

_xlApp = null;

//虽然用了_xlApp.Quit(),但由于是COM,并不能清除驻留在内存在的进程,每实例一次Excel则Excell进程多一个。

//因此用垃圾回收,建议不要用进程的KILL()方法,否则可能会错杀无辜啊:)。

System.GC.Collect(generation);  //有用的部分

-------------------------------------------------------------我真的不说谎-----------------------------------------------------------------------------

虽然有人说资源回收会影响性能。。管他呢。。现在电脑那么快。。。