导出Excel是杀进程
来源:互联网 发布:淘宝店铺想重新开 编辑:程序博客网 时间:2024/06/16 19:54
Public Sub OutExcFile(ByVal strUserId As String, ByVal objControl As System.Web.UI.Control) Dim objExcel As Excel.Application Dim objWorkBooks As Excel.Workbooks = Nothing Dim objBook As Excel.Workbook = Nothing Dim objSheets As Excel.Sheets = Nothing Dim objWorkSheet As Excel.Worksheet = Nothing objExcel = New Excel.Application Try Dim strOutFileName As String = CopyModel("SkillMap.xls", strUserId) objWorkBooks = objExcel.Workbooks '文件打开 objBook = objWorkBooks.Open(strOutFileName) objSheets = objBook.Worksheets objWorkSheet = objSheets(1) ' 基本信息输出 SetBaseInfo(strUserId, objWorkSheet) ' 技术语言信息输出 SetLangItemStatus(strUserId, objWorkSheet) ' 外语能力信息输出 SetForLanInfo(strUserId, objWorkSheet) ' 资格/培训,海外工作经历,业务经历,管理经历的取得设定 SetGridView(strUserId, objWorkSheet, objExcel) objWorkSheet.Range("A1").Select() objBook.Save() ' 作成的文件输出 Dim strWebFilePath As String = Web.Configuration.WebConfigurationManager.AppSettings("OutFileWebPath") Dim strSkillFileName = strOutFileName.Substring(strOutFileName.LastIndexOf("/") + 1) Dim strURL As String = "<script LANGUAGE='JavaScript'>" & "window.open('" & objControl.ResolveUrl("/" & strWebFilePath & strSkillFileName) & "')" & "</script>" objControl.Page.ClientScript.RegisterStartupScript(Me.GetType(), "", strURL) Catch ex As Exception Throw ex Finally If Not IsNothing(objWorkSheet) Then ReleaseComObject(objWorkSheet) End If If Not IsNothing(objBook) Then ReleaseComObject(objBook) End If If Not IsNothing(objSheets) Then ReleaseComObject(objSheets) End If If Not IsNothing(objWorkBooks) Then ReleaseComObject(objWorkBooks) End If If objExcel IsNot Nothing Then objExcel.UserControl = False 'Excel退出 objExcel.Quit() '对像释放 ReleaseComObject(objExcel) Dim intgeneration As Integer = 0 intgeneration = System.GC.GetGeneration(objExcel) objExcel = Nothing System.GC.Collect(intgeneration) System.GC.Collect() End If End Try End Sub