C# 导出数据到Excel后,销毁Excel.exe进程的方法

上个星期做一个复杂的报表导出到excel,发现每次导出后都有一个excel.exe进程.找到N久才找到的这段代码:

#region Kill Special Excel Process
[DllImport("user32.dll", SetLastError = true)]
static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);
#endregion

Excel.Application xlApp = new Excel.Application();

.....导出excel后 

if (xlApp != null)

   {
      int lpdwProcessId;
      GetWindowThreadProcessId(new IntPtr(xlApp.Hwnd), out lpdwProcessId);

      System.Diagnostics.Process.GetProcessById(lpdwProcessId).Kill();
   }

 

你可能感兴趣的:(Excel)