手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#利用com操作excel释放进程的解决方法
C#利用com操作excel释放进程的解决方法
摘要:第一个复制代码代码如下:System.Runtime.InteropServices.Marshal.ReleaseComObject(sh...

第一个

复制代码 代码如下:

System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets);

System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);

System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);

System.Runtime.InteropServices.Marshal.ReleaseComObject(range);

excelApp = null;

wbclass = null;

sheets = null;

worksheet = null;

range = null;

GC.Collect();

GC.WaitForPendingFinalizers();

释放不彻底,还是有进程存在。

第二种

复制代码 代码如下:

//调用底层函数获取进程标示

[DllImport("User32.dll")]

public static extern int GetWindowThreadProcessId(IntPtr hWnd, out int ProcessId);

private static void KillExcel(Microsoft.Office.Interop.Excel.Application theApp)

{

int id = 0;

IntPtr intptr = new IntPtr(theApp.Hwnd);

System.Diagnostics.Process p = null;

try

{

GetWindowThreadProcessId(intptr, out id);

p = System.Diagnostics.Process.GetProcessById(id);

if (p != null)

{

p.Kill();

p.Dispose();

}

}

catch (Exception ex)

{

}

}

这个方法比较好,我试过了可以关闭掉进程。

【C#利用com操作excel释放进程的解决方法】相关文章:

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

C# 委托(跨窗体操作控件)实例流程讲解

深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

C#中一些你可能没用过的调试窗口的方法

用C#对ADO.NET数据库完成简单操作的方法

C#如何将DataTable导出到Excel解决方案

C#图片压缩的实现方法

c#在控制台输出彩色文字的方法

C#中控制远程计算机的服务的方法

c# 应用事务的简单实例

精品推荐
分类导航