EXCEL中删除多余的sheet 和 杀死Excel的进程


 '删除多余的sheet
For Each workSheet As Excel.Worksheet In xlsWorkBook.Worksheets
    If workSheet.Name.Length > 5 Then
        If workSheet.Name.Substring(0, 5) = "Sheet" Then
            workSheet.Delete()
        End If
    End If
Next
...........

xlsWorkBook.Close()
xlsApp.Quit()
 '杀死Excel进程
Try
    Dim theProc As System.Diagnostics.Process
    For Each theProc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
        If theProc.CloseMainWindow() = False Then
            theProc.Kill()
        End If
    Next
Catch ex As Exception
    Me.lbInfo.Text = ex.Message
    Me.lbInfo.Visible = True
End Try
GC.Collect()


[VB.NET] 

Public Function CloseExcelApp() As Boolean   
	'xlApp.WindowState   =   XlWindowState.xlMinimized   
	xlApp.Visble   =   true   
	Try   
		If Not xlApp Is Nothing And isRunningFlag  = False Then   
    	xlApp.Quit()   
    	Marshal.ReleaseComObject(xlApp)   
			Dim theProc As System.Diagnostics.Process   
      For Each theProc In System.Diagnostics.Process.GetProcessesByName("EXCEL")   
      	If theProc.CloseMainWindow()= False Then   
        	theProc.Kill()   
        End If   
      Next   
    End   If   
    xlApp   =   Nothing   
    Return   True   
 Catch   ex   As   Exception   
 	Return   False   
 End Try   
End Function  

[C#] 

public bool CloseExcelApp()   
{   
	xlApp.Visible = true; // xlApp is the excel application.   
	try   
  {   
  	if(xlApp != null && ! isRunning ) // isRunning是判断xlApp是怎么启动的flag.   
    {   
    	xlApp.Quit();     
      System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);     
      //释放COM组件,其实就是将其引用计数减1   
      System.Diagnostics.Process theProc;   
      foreach( theProc in System.Diagnostics.Process.GetProcessesByName("EXCEL"))   
      {   
      //先关闭图形窗口。如果关闭失败...有的时候在状态里看不到图形窗口的excel了,   
      //但是在进程里仍然有EXCEL.EXE的进程存在,那么就需要杀掉它:p   
      	if( theProc.CloseMainWindow() == false )     
        {   
        	theProc.Kill();   
        }   
      }   
			xlApp = null;   
    	return true;   
    }   
  }   
	Catch( Exception )   
	{   
		return false;   
	}   
}   




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值