c#EXCEL关闭方式(关闭EXCEL进程)

 更新时间:2025年11月04日 08:57:26   作者:Nemo_XP  
文章介绍了在C#中关闭Excel进程的问题,并提供了一个解决方案,通过获取当前进程的ID来关闭特定的Excel进程,而不是关闭所有Excel进程

c#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);   //得到本进程唯一标志k
   System.Diagnostics.Process p=System.Diagnostics.Process.GetProcessById(k);   //得到对进程k的引用
   p.Kill();     //关闭进程k
  }

}

这样我们就可以关闭当前进程excel而不是杀掉所有的类型为excel进程了!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#配置文件Section节点处理总结

    C#配置文件Section节点处理总结

    这篇文章主要介绍了C#配置文件Section节点处理总结,针对配置文件Section节点的处理做了较为详细的实例总结,需要的朋友可以参考下
    2014-10-10
  • c#中String类型的存储原理详解

    c#中String类型的存储原理详解

    本文主要介绍了c#中String类型的存储原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C#使用HttpClient的正确方式你了解吗

    C#使用HttpClient的正确方式你了解吗

    在微服务架构体系中经常需要向特定 URL 地址发送 Http 请求操作,在 .net core 中 httpClient 使用不当会造成灾难性的问题,这篇文章主要来分享 .net core 中通过 IHttpClientFactory 工厂来使用 HttpClient 的正确打开方式
    2021-11-11
  • C#通过指针实现快速拷贝的方法

    C#通过指针实现快速拷贝的方法

    这篇文章主要介绍了C#通过指针实现快速拷贝的方法,涉及C#指针的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • c#的dllimport使用方法详解

    c#的dllimport使用方法详解

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息
    2014-01-01
  • C#实现影院售票系统

    C#实现影院售票系统

    这篇文章主要为大家详细介绍了C#实现影院售票系统,解析了售票系统的难点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 总结C#删除字符串数组中空字符串的几种方法

    总结C#删除字符串数组中空字符串的几种方法

    C#中要如何才能删除一个字符串数组中的空字符串呢?下面的文章会介绍多种方式来实现清除数组中的空字符串,以及在.net中将字符串数组中字符串为空的元素去除。
    2016-08-08
  • C#实现猜数字游戏

    C#实现猜数字游戏

    这篇文章主要为大家详细介绍了C#实现猜数字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Unity实现老虎机滚动抽奖效果的示例代码

    Unity实现老虎机滚动抽奖效果的示例代码

    这篇文章主要介绍了Unity实现老虎机滚动抽奖效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C# TabControl手动触发DrawItem的实现

    C# TabControl手动触发DrawItem的实现

    本文主要介绍了C# TabControl手动触发DrawItem的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论