问题描述
我要在vb.net中实现对一个存在的excel文件进行写操作.自己在调试过程中执行到xlBook.Close()这个操作的时候,就停止不动了.请问怎样关闭excel.
解决方案
解决方案二:
以前写的,你可以参考你需要的部分.http://dev.csdn.net/author/lzmtw/4db1da0f4a3b489da42e33b94b2a38e2.html
解决方案三:
application.close
解决方案四:
窗体代码前定义实例对象:PrivateAppExcelAsExcel.Application=NewExcel.Application然后在窗体关闭或退出时加入以下代码:AppExcel.Application.Workbooks.Close()'关闭Excel表格AppExcel.Quit()'销毁Excel.exe进程我这么全OK!
解决方案五:
xlBook.Close(nothing,nothing,nothing)
解决方案六:
DimpProcess()AsProcesspProcess=Process.GetProcesses()DimiAsIntegerFori=0TopProcess.Length()-1If(pProcess(i).ProcessName="EXCEL")ThenpProcess(i).Kill()''关闭进程EndIfNext
解决方案七:
楼上的方法不可取,因为如果有别人也在server上用excel,都会被KILL掉。建议lz,在你开启excel的时候,得到ProcessID,等用完以后,你可以KILLProcessID.
解决方案八:
请问如何在开启excel的时候获得它的进程ID啊?
解决方案九:
up
解决方案十:
StartExcelandgetitsprocessID:''VerifytheExcelfiletopopulateexists.'DimstrExcelFileAsString="C:Application_DirectoryMyExcel.xls"IfNotIO.File.Exists(strExcelFile)ThenReturn''StartMicrosoftExcelandsetitvisible.'myExcel=NewExcel.ApplicationIfmyExcelIsNothingThenThrow(NewException("FailedtoStartMicrosoftExcel."))ElsemyExcel.Visible=TruemyExcel.WindowState=Excel.XlWindowState.xlMaximized''GettheprocessIDoftheExcelinstance.Thisisused'intheClosingEventtopreventorphanedExcelprocesses.'DimaProcesses()AsProcess=Process.GetProcessesDimiAsIntegerFori=0ToaProcesses.GetUpperBound(0)IfaProcesses(i).MainWindowHandle.ToString=myExcel.Hwnd.ToStringThenmyExcelPID=aProcesses(i).IdExitForEndIfNextEndIf