当前位置:编程学习 > C#/ASP.NET >>

asp.net调用excel后,怎样删除excel进程?急!!!!

Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

 xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
            xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)

。。。。。

xlSheet.SaveAs("e:\TextExcel.xls")


 xlSheet = Nothing
         xlBook = Nothing
            xlApp.Workbooks.Close()
            xlApp.Quit()
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
            xlApp = Nothing
            GC.Collect()


但是无法删除excel进程。急!!!!
--------------------编程问答--------------------    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) 

你的写法是对的,将 Excel 引用计数器 减一,然后由COM对象自己释放Excel

看看是否还有其他的应用导致Excel进程的存在,  

实在不行,可以使用 Process.Kill() --------------------编程问答-------------------- 但是如果Process.Kill()可能会把其他的excel进程删掉 --------------------编程问答-------------------- Excel.Application 这个改成Excel.ApplicationClass ap=new .....,最后ap.Quit() --------------------编程问答-------------------- 创建Excel前后记录当前时间datetime1 datetime2

最后kill时 只关掉 cpu时间介于两者之间的Excel进程 --------------------编程问答-------------------- 这个问题,是老问题了.但直到今天,还是没有最满意的解决办法.


使用EXCEL控件是一个好选择.Aspose控件很不错.
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,