C#和Asp.net下excel进程一被打开,有时就无法关闭,   尤其是website.对关闭该进程有过GC、release等方法,但这些方法并不是在所有情况下均适用。  于是提出了kill   process的方法,   目前我见过的方法多是用进程创建时间筛选excel.exe进程,   然后kill 。     这样的方法是不精确的,   也是不安全的,   通过对网上一些关于Api运用文章的阅读,   我找到了更为直接精确找到这个process并kill的方法,以下就是代码        
using   System.Runtime.InteropServices;  
      
  [DllImport("User32.dll",   CharSet   =   CharSet.Auto)]  
  public   static   extern   int   GetWindowThreadProcessId(IntPtr   hwnd,   out   int   ID);  
  protected   void   Button1_Click(object   sender,   EventArgs   e)  
  {  
      Excel.ApplicationClass   excel   =   new   Microsoft.Office.Interop.Excel.ApplicationClass();  
      excel.Workbooks.Open("d:\aaa.xls",   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing,   Type.Missing);  
      IntPtr   t   =   new   IntPtr(excel.Hwnd);  
      int   k   =   0;  
      GetWindowThreadProcessId(t,   out   k);  
      System.Diagnostics.Process   p   =   System.Diagnostics.Process.GetProcessById(k);  
      p.Kill();                  
   }
以上代码百分百成功的关闭excel.exe进程
我的做法是结合两者,先释放资源,然后关闭进程。
同时网上说避免使用GC.Collect 方法 (),因为会导致整个clr进行gc,影响你的性能.所以我也没有调用GC.Collect

转载于:https://www.cnblogs.com/freedom831215/archive/2009/10/03/1577622.html

c#操作excel后关闭excel.exe的方法相关推荐

  1. 【转】.NET引用Excel操作时无法关闭Excel.exe进程的解决方法

     http://blog.csdn.net/hsyj_0001/article/details/7686364 在使用Office类库Microsoft.Office.Interop.Excel导 ...

  2. VB.NET 使用Microsoft.Office.Interop进行EXCEL操作时彻底关闭EXCEL进程

    Imports System.Runtime.InteropServices Imports Microsoft.Office.Interop Public Class 关闭EXCEL'' TODO: ...

  3. jacob操作office后关闭不掉进程

    用jacoba操作office后,发现代码中的 app.invoke("Quit", new Variant[] {});  不能正确关闭进程,解决方法是:将方法放在ComThre ...

  4. 在中WebBrowser加载Excel后获取excel对象

    在最新的Visual Studio 2005中,为我们提供了一个WebBrowser的封装控件,这个控件隐藏了底层的axWebBrowser控件,我们就利用WebBrowser控件来完成我们的Exce ...

  5. Excel VBA下调用exe的方法

    Shell ThisWorkbook.Path & "\sxt.exe" ------------------------ Shell代表是调用exe文件,  ThisWo ...

  6. java excel 导入 关闭,excel关联别的表格数据库-java实现excel表导入,有的字段数据库中没有,需要关......

    excel中我想用另一张表的内容我数据库,当我在一个... 用VLOOKUP函数,=VLOOKUP(lookup_value,table_array,col_index_num,range_looku ...

  7. cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法

    问题描写叙述: 这段时间机器总是出现一个奇怪的问题:cidaemon.exe进程占用CUP率98%以上,大大影响了电脑的正常使用.资源管理器中出现多个cidaemon.exe进程,强制结束占用cpu率 ...

  8. selenium打开chrome浏览器闪退(进程结束后关闭浏览器)解决方法

    from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Optio ...

  9. wps里的茶色字体怎么设置_《excel颜色筛选》 WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决...

    WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决 格式刷提取那个单元格格式复制后颜色,保存后打开也的吗? 还有你可以右键单元格后下两种的图 ...

最新文章

  1. 查询数据库表名,数据表信息,MySQL Key值(PRI, UNI, MUL)的含义
  2. FSG2.0脱壳记录
  3. [置顶]       设计模式之结构类模式——桥梁模式
  4. windows10常用快捷键
  5. centos转换linux格式,CentOS 下转换网易云音乐ncm格式为mp3
  6. Makima修正Hermite插值
  7. Windows新建文件快捷键(使用AutoHotKey脚本)
  8. 求职面试技巧_开始求职的7个技巧
  9. R语言 | 将CSV文件中原本为空白值的chr数据赋值为NA
  10. FPGA平台开发基础
  11. 利用Python脚本给图片批量添加文字水印
  12. flask 视频流直播
  13. 申报深圳高新企业认定除了补贴,还有哪些好处?
  14. 切换窗口卡顿?禁用Lenovo System Interface Foundation
  15. Python开发多媒体管理软件实现方法
  16. SI4455程序调试问题总结
  17. 内存和CPU占用率过高,该怎么办?
  18. TypeScript:any和unknown
  19. 让企业经营看得见,柏明顿阿米巴经营会计提升财务层级
  20. vim 精确匹配查找单词

热门文章

  1. 数据库有哪些设计技巧
  2. 100+ 值得收藏的 Web 开发资源
  3. mx2 android os耗电,魅族MX3 Flyme OS 3.2充电慢、耗电快问题的解决方法详解
  4. android sqlite alert table,android sqlite数据库操作
  5. 微信公共平台接口开发--Java实现
  6. 一致性设计,而不是一致性
  7. 静态原型设计 加载中_见解1:原型设计有助于填补静态设计留下的空白。
  8. Linux下自动化测试环境的搭建
  9. AngularDart 现已全面采用 Dart 开发
  10. 整理iOS9适配中出现的坑