博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用windows操作EXCEL如何关闭EXCEL进程
阅读量:4574 次
发布时间:2019-06-08

本文共 833 字,大约阅读时间需要 2 分钟。

  经常项目上有导入excel的需求,其实导入一个固定格式的excel数据非常容易,但是,发现一个问题就是,导入excel后,用户在打开excel时,必须要打开2次才能打开excel,这让人很不爽;开始查找原因:excel的进程关闭不了,资源不能释放,于是就想尽办法释放com对象excel实例;

   public Excel.Application app;   //Excel对象

   public Excel.Workbooks wbs;     //工作簿集
   public Excel.Workbook wb;       //工作簿
   public Excel.Worksheets wss;    //工作表集
   public Excel.Worksheet ws;      //工作表集

   wb.Close(Type.Missing, Type.Missing, Type.Missing);

   wbs.Close();
   app.Quit();

   wb = null;

   wbs = null;
   app = null;
   GC.Collect();

 这样并不能关闭EXCEL进程;

解决方法:

 [DllImport("User32.dll", CharSet = CharSet.Auto)]

 public static extern int GetWindowThreadProcessId(IntPtr hwnd, out   int ID);

 IntPtr t = new IntPtr(app.Hwnd);          //杀死进程的好方法,很有效

 int k = 0;
 GetWindowThreadProcessId(t, out k);
 System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
 p.Kill();

  

  

 

转载于:https://www.cnblogs.com/bluestream/p/4910631.html

你可能感兴趣的文章
W3C标准
查看>>
CLR内存回收总结,代龄机制
查看>>
一个持续集成系统的实现
查看>>
Python3中的编码问题
查看>>
SQL_基础1
查看>>
二分答案&【NOIP 2015】跳石头
查看>>
整数转换成字符
查看>>
Eclipse断点调试(下)
查看>>
IDbDataAdapter 在开发工作中的使用
查看>>
支持库:DataTable扩展ToList方法
查看>>
京东技术架构(二)构建需求响应式亿级商品详情页
查看>>
ubuntu14.04上引入thinkphp5类库遇到的一个问题
查看>>
定时任务Cron
查看>>
第003篇 深入体验C#项目开发(二)
查看>>
第3章 字符驱动
查看>>
jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)...
查看>>
RDIFramework.NET ━ 9.6 模块(菜单)管理 ━ Web部分
查看>>
【niubi-job——一个分布式的任务调度框架】----FAQ文档
查看>>
J2EE常用Jar包含义
查看>>
进击的Objective-C--------------Objective-C(二)
查看>>