手机
当前位置:查字典教程网 >编程开发 >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释放进程的解决方法】相关文章:

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

C#定位txt指定行的方法小例子

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

C#访问应用程序配置文件的方法

C#技巧之快速删除bin和obj文件夹的方法

C#图片压缩的实现方法

C#中隐式运行CMD命令行窗口的方法

c#中分割字符串的几种方法

c# 应用事务的简单实例

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

精品推荐
分类导航