谢 谢 收 藏 http://www.qqread.com/csharp/n221302.html
在论坛中经常看到问如何结束Excel进程的帖子,很多人给出
的方法是先得到系统进程列表,然后和“Excel”匹配,是Excel
的进程就杀死,我个人认为这个方法是不可行的,如果软件用这种方法
杀死自己启动的进程,应该算是Bug(有可能将用户Excel进程杀掉)。
我在网上找到了另一种杀死Excel 进程的方法,如下:
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheets);
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
...
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
worksheets=null;
worksheet=null;
...
ExcelApp=null;
range=null;
把操作Excel文件用到的对象实例全部释放。
然后资源回收!
GC.Collect();
以上的代码最好能放在finally中,防止操作Excel文件时发生异常而执行不到!
在打开任务管理器看看,Excel进程是不是已经不在了!
哪位朋友如果有更好的方法,也请贡献出来,大家一起学习!
更多内容请看Excel技巧专题,或进入讨论组讨论。
在论坛中经常看到问如何结束Excel进程的帖子,很多人给出
的方法是先得到系统进程列表,然后和“Excel”匹配,是Excel
的进程就杀死,我个人认为这个方法是不可行的,如果软件用这种方法
杀死自己启动的进程,应该算是Bug(有可能将用户Excel进程杀掉)。
我在网上找到了另一种杀死Excel 进程的方法,如下:
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheets);
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
...
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
worksheets=null;
worksheet=null;
...
ExcelApp=null;
range=null;
把操作Excel文件用到的对象实例全部释放。
然后资源回收!
GC.Collect();
以上的代码最好能放在finally中,防止操作Excel文件时发生异常而执行不到!
在打开任务管理器看看,Excel进程是不是已经不在了!
哪位朋友如果有更好的方法,也请贡献出来,大家一起学习!
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Excel技巧 (210篇文章)
- C#版的网站新闻发布系统 (690次浏览)
- VC#初学入门:第一个Windows程序 (536次浏览)
- C# WinForm中DataGrid列设置 (534次浏览)
- C#程序设计入门经典之C#的基本语法 (526次浏览)
- C# 编程规范 (519次浏览)
- .net中webform和winform连接sql server 2000 (316次浏览)
- 如何向某网址Post信息,并直接通过验证 (304次浏览)
- 多线程在Visual C#网络编程中的应用(1) (298次浏览)
- 获取主机的IP地址 (170次浏览)
- C# 参考之访问关键字:base、this (144次浏览)



