手机
当前位置:查字典教程网 >编程开发 >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#利用WMI操作DNS服务器(可远程操作,需要相应权限)

C# 鼠标穿透窗体功能的实现方法

C#生成sitemap站点地图的方法

C#连接MySql数据库的方法

C#中一些字符串操作的常用用法

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

操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)

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

精品推荐
分类导航