在C#中使用Microsoft.Office.Interop.Execl 导出excel 表格时,将以下两个属性亩后,在导完后, Excel.exe 进程无法关闭。

// excel app 是否可见
app.Visible = false;  // app 为Microsoft.Office.Interop.Excel.Application 的实例对象 
app.DisplayAlerts = false;

在网上看了很多的解决方案,有的过于复杂,最后自己整理了一个比较简便实用的,就是把进程 Excel.exe 关闭关闭掉,具体代码如下 :

 

   /// <summary>
        /// 退出excel
        /// </summary>
        private void KillExcel()
        {
            if (book != null)
                book = null;  // WorkBook 的实例欢畅
            if (app != null)
                app.Quit(); // Microsoft.Office.Interop.Excel  的实例对象 
            GC.Collect();  // 回收资源
            System.Diagnostics.Process[] excelProcess = System.Diagnostics.Process.GetProcessesByName("EXCEL");
            foreach (var item in excelProcess)
            {
                item.Kill();
            }
        }

 

posted on 2018-11-16 18:40  wisdo  阅读(2126)  评论(0编辑  收藏  举报