c#EXCEL关闭(关闭EXCEL进程)
一直被一个问题困扰就是导出excel时如何关闭excel进程,我使用过oExcelApp.Quit(); 也用过GC回收,结果都不理想,后来发现可以kill进程,但是问题是kill进程 时不好解决多人并发的使用,比如一个人在导表然后kill所以的excel但是如果同时又有人在导表那么这就把另外一个excel结束了,现在我们要办的 是如何kill当前这个进程,这里我们先看一下代码:
oExcelApp.Quit();PublicMethod.Kill(oExcelApp);//调用kill当前excel进程
下面是杀进程的类,直接复制粘贴即可。
using System.Runtime.InteropServices;public class PublicMethod{[DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern int GetWindowThreadProcessId(IntPtr hwnd,out int ID);public static void Kill(Microsoft.Office.Interop.Excel.Application excel){ IntPtr t=new IntPtr(excel.Hwnd);//得到这个句柄,具体作用是得到这块内存入口 int k= 0; GetWindowThreadProcessId(t,out k); //得到本进程唯一标志kSystem.Diagnostics.Process p=System.Diagnostics.Process.GetProcessById(k); //得到对进程k的引用p.Kill(); //关闭进程k}}
这样我们就可以关闭当前进程excel而不是杀掉所有的类型为excel进程了,
c#EXCEL关闭(关闭EXCEL进程)相关推荐
- MATLAB —— 强制终止关闭所有 EXCEL 进程
报错提示:xlsx进程被锁定 [~, ~] =system('taskkill /F /IM EXCEL.EXE'); % Keill all running "EXCEL" pr ...
- ASP.NET中上传并读取Excel文件数据,附后生成EXCEL及杀掉EXCEL进程。
本文通过一个简单的例子,实现读取Excel数据文件. 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件.一个文件控件和一个按钮控件. <INPUT id="F ...
- python 关闭exe程序进程
python 关闭exe程序进程 import os def kill_exe(exe_name):"""杀死exe进程:param exe_name:进程名字:retu ...
- 如何查看和关闭异常SQL进程
如何查看和关闭异常SQL进程<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
C# 强制关闭当前程序进程(完全Kill掉不留痕迹) 原文:C# 强制关闭当前程序进程(完全Kill掉不留痕迹) C# 强制关闭当前程序进程(完全Kill掉不留痕迹) C#代码 /// <sum ...
- Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
selenium操作chrome浏览器需要有ChromeDriver驱动来协助.webdriver中关浏览器关闭有两个方法,一个叫quit,一个叫close. 1 /** 2 * Close the ...
- linux 进程被杀日志,Linux查看日志和关闭、杀***进程命令
1 -----Linux查看tomcat日志命令: cd /:切换到根目录 ll:查看根目录下的文件 cd /data/kafu/log:切换到日志目录 ll:查看日志目录下的文件 ta ...
- Linux查看日志和关闭、杀死进程命令
1 -----Linux查看tomcat日志命令: cd /:切换到根目录 ll:查看根目录下的文件 cd /data/kafu/log:切换到日志目录 ll:查看日志目录下的文件 ta ...
- 如何优雅的退出/关闭/重启gunicorn进程
在工作中,会发现gunicorn启动的web服务,无论怎么使用kill -9 进程号都是无法杀死gunicorn,经过我一番百度和谷歌,发现想要删除gunicorn进程其实很简单. 1. 寻找mast ...
- linux之前关闭信号,Linux 两组信号对比(关闭和停止进程信号)
之前看信号的时候,没有太注意不同信号的对比.今天再次看到的时候,突然感觉对一些信号,非常相似,乃至非常容易混淆.今天周末就抽空总结一下. 一.关闭进程信号 常见的4中关闭进程信号是SIGKILL,SI ...
最新文章
- 洛谷P2380 狗哥采矿
- python使用正则表达式判别用户输入密码的强弱并提示
- iptables防火墙(二)
- 计算机AL教程笔记,计算机系统基础学习笔记(2)-数据的位运算操作
- 【数据迁移】使用传输表空间迁移数据
- 多项式输出pascal程序
- iOS之深入探究多线程实现、线程安全和线程死锁
- UVA dp题目汇总
- maven依赖,聚合和继承
- 华为云的研究成果又双叒叕被MICCAI收录了!
- rust原地复活_植物大战僵尸英雄锈铁螺栓新手卡组推荐 rustbolt多手牌陷阱恢复后期流卡组...
- 如何在JavaScript中声明名称空间?
- 接口压力测试神器Jmeter
- App推广10大营销渠道方法汇总
- 用友u8服务器修改ipv4,用友U8-OA11.1 用友U8加密狗更换服务器了-用友U8
- java我的世界教学视频,快来看鸭~
- 运维:你们 JAVA 服务怎么又又又又出问题了,内存降不下来
- HDU6441(费马大定理)
- 2017 ACM Arabella Collegiate Programming Contest(solved 9/13, complex 12/13)
- udt4 VS udt gateway