c#EXCEL關(guān)閉方式(關(guān)閉EXCEL進(jìn)程)
c#EXCEL關(guān)閉方式
一直被一個(gè)問(wèn)題困擾就是導(dǎo)出excel時(shí)如何關(guān)閉excel進(jìn)程,我使用過(guò)oExcelApp.Quit(); 也用過(guò)GC回收,結(jié)果都不理想,后來(lái)發(fā)現(xiàn)可以kill進(jìn)程,但是問(wèn)題是kill進(jìn)程 時(shí)不好解決多人并發(fā)的使用。
比如一個(gè)人在導(dǎo)表然后kill所以的excel但是如果同時(shí)又有人在導(dǎo)表那么這就把另外一個(gè)excel結(jié)束了,現(xiàn)在我們要辦的 是如何kill當(dāng)前這個(gè)進(jìn)程。
這里我們先看一下代碼
oExcelApp.Quit();
PublicMethod.Kill(oExcelApp);//調(diào)用kill當(dāng)前excel進(jìn)程下面是殺進(jìn)程的類
直接復(fù)制粘貼即可。
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);//得到這個(gè)句柄,具體作用是得到這塊內(nèi)存入口
int k= 0;
GetWindowThreadProcessId(t,out k); //得到本進(jìn)程唯一標(biāo)志k
System.Diagnostics.Process p=System.Diagnostics.Process.GetProcessById(k); //得到對(duì)進(jìn)程k的引用
p.Kill(); //關(guān)閉進(jìn)程k
}
}這樣我們就可以關(guān)閉當(dāng)前進(jìn)程excel而不是殺掉所有的類型為excel進(jìn)程了!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 如何使用C#實(shí)現(xiàn)將Excel文件轉(zhuǎn)換為HTML格式
- C#實(shí)現(xiàn)高效讀寫Excel工作表
- .NET中利用C#實(shí)現(xiàn)Excel條件格式的自動(dòng)化設(shè)置
- 使用C#將Excel導(dǎo)出為DataTable的實(shí)戰(zhàn)指南
- C#實(shí)現(xiàn)高保真的Excel轉(zhuǎn)PDF詳解(無(wú)需 Office 環(huán)境)
- C#快速實(shí)現(xiàn)Excel多類數(shù)字格式的設(shè)置
- C#如何設(shè)置Excel工作表的頁(yè)面邊距
- C#利用Spire.XLS for .NET將Excel轉(zhuǎn)換為HTML格式
相關(guān)文章
C#配置文件Section節(jié)點(diǎn)處理總結(jié)
這篇文章主要介紹了C#配置文件Section節(jié)點(diǎn)處理總結(jié),針對(duì)配置文件Section節(jié)點(diǎn)的處理做了較為詳細(xì)的實(shí)例總結(jié),需要的朋友可以參考下2014-10-10
C#通過(guò)指針實(shí)現(xiàn)快速拷貝的方法
這篇文章主要介紹了C#通過(guò)指針實(shí)現(xiàn)快速拷貝的方法,涉及C#指針的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
總結(jié)C#刪除字符串?dāng)?shù)組中空字符串的幾種方法
C#中要如何才能刪除一個(gè)字符串?dāng)?shù)組中的空字符串呢?下面的文章會(huì)介紹多種方式來(lái)實(shí)現(xiàn)清除數(shù)組中的空字符串,以及在.net中將字符串?dāng)?shù)組中字符串為空的元素去除。2016-08-08
Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼
這篇文章主要介紹了Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
C# TabControl手動(dòng)觸發(fā)DrawItem的實(shí)現(xiàn)
本文主要介紹了C# TabControl手動(dòng)觸發(fā)DrawItem的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

