C#利用com操作excel释放进程的解决方法
2018-10-12 14:08
816 查看
第一个
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#操作excel时出现COM异常,解决方法
- C# 操作Excel是遇到的80070005错误-解决方法
- VB之操作excel后不能关闭excel进程的原因及解决方法
- C# 调用Office Excel 接口方法Quit(),但是Excel进程不退出的解决办法
- c#操作Excel 一些问题 字符变为null解决方法
- C#操作Word导致 “Microsoft.Office.Interop.Word.ApplicationClass”的 COM 组件错误的解决方法
- c#关闭excel进程失败的解决方法
- C#和Asp.net下调用Excel后无法自动关闭进程的解决方法
- C#操作Execl如何释放进程里占用的Excel.exe
- 解决C#使用Microsoft.Office.Interop.Excel操作Excel后进程一直存在的问题
- C#操作Office文件,成功释放,但读取文件时提示"文件***正由另一进程使用,因此该进程无法访问此文件"的解决办法
- aspnet中操作excel报com错误的解决方法
- C#调用Excel后无法退出Excel进程的解决方法
- 【转】.NET引用Excel操作时无法关闭Excel.exe进程的解决方法
- C#使用oledb连接excel运行Insert Into语句出现“操作必须使用一个可更新的查询”的解决的方法
- C#操作Excel时,Excel常用的方法和属性zz
- C#操作Excel时,Excel常用的方法和属性
- [C#]结束Excel的进程的方法
- ASP中建立Excel对象,Excel进程总是无法释放(看了网上的很多帖子,两种方法,但是都不是很好)