本来我做的一个是这样的代码: Public Sub GetExcel(ByVal UsersDs As DataSet, ByVal strDisplayStartWeekday As String, ByVal strDisplayEndWeekday As String) Dim myRow As DataRow Dim data_Array As Object Dim i As Integer Dim j As Integer Dim strSQLParam() As String Dim strSQL As String Try myDB.ConnectDB() p_oExcel.Visible = False p_oExcel.DisplayAlerts = False p_oBook = p_oExcel.Workbooks.Add p_oSheet = p_oBook.Worksheets.Add p_oSheet.Name = "Sheet4" p_oBook.SaveAs(p_strFile) p_oExcel.Workbooks.Open(p_strFile) p_oBook = p_oExcel.ActiveWorkbook MakeSheet(UsersDs, strDisplayStartWeekday, strDisplayEndWeekday) p_oExcel.DisplayAlerts = True p_oBook.Save() Catch ex As Exception Session.Add("DEFAULT_ERROR", ex.Message) Response.Redirect("DefaultErrorPage.aspx", True) Finally p_oBook.Close() System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oCells) System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oBook) p_oCells = Nothing p_oSheet = Nothing p_oBook = Nothing p_oExcel.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oExcel) p_oExcel = Nothing myDB.CloseDB() System.GC.Collect() End Try End Sub其中MakeSheet()这个函数,我是有一段代码的,但是如果把那段代码写在这个函数中,程序会报提示错误:Microsoft Excel:Excel.EXE —应用程序错误,"ox6dde20e5"指令引用的"0x00000000"内存,该内存不能为"Read" 。这个错误,打不开。但是又来我把MakeSheet()中代码另建了一个函数后,问题就解决了,很奇怪。但是我现在还要再作一个Excel,但是这个下载文件比前面的大,所以很不稳定,有时候还是会报报提示错误:Microsoft Excel:Excel.EXE —应用程序错误,"ox6dde20e5"指令引用的"0x00000000"内存,该内存不能为"Read" 。如果我现在打开一个excel文件的话,再运行程序,这是程序根本就挂了,郁闷啊~什么原因啊?高手们指导一下,我的MSN是[email protected]
Public Sub GetExcel(ByVal UsersDs As DataSet, ByVal strDisplayStartWeekday As String, ByVal strDisplayEndWeekday As String)
Dim myRow As DataRow Dim data_Array As Object Dim i As Integer
Dim j As Integer
Dim strSQLParam() As String
Dim strSQL As String Try
myDB.ConnectDB() p_oExcel.Visible = False
p_oExcel.DisplayAlerts = False p_oBook = p_oExcel.Workbooks.Add
p_oSheet = p_oBook.Worksheets.Add
p_oSheet.Name = "Sheet4" p_oBook.SaveAs(p_strFile) p_oExcel.Workbooks.Open(p_strFile)
p_oBook = p_oExcel.ActiveWorkbook MakeSheet(UsersDs, strDisplayStartWeekday, strDisplayEndWeekday) p_oExcel.DisplayAlerts = True
p_oBook.Save() Catch ex As Exception Session.Add("DEFAULT_ERROR", ex.Message)
Response.Redirect("DefaultErrorPage.aspx", True) Finally
p_oBook.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oCells)
System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oSheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oBook)
p_oCells = Nothing
p_oSheet = Nothing
p_oBook = Nothing p_oExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(p_oExcel) p_oExcel = Nothing myDB.CloseDB()
System.GC.Collect() End Try End Sub其中MakeSheet()这个函数,我是有一段代码的,但是如果把那段代码写在这个函数中,程序会报提示错误:Microsoft Excel:Excel.EXE —应用程序错误,"ox6dde20e5"指令引用的"0x00000000"内存,该内存不能为"Read" 。这个错误,打不开。但是又来我把MakeSheet()中代码另建了一个函数后,问题就解决了,很奇怪。但是我现在还要再作一个Excel,但是这个下载文件比前面的大,所以很不稳定,有时候还是会报报提示错误:Microsoft Excel:Excel.EXE —应用程序错误,"ox6dde20e5"指令引用的"0x00000000"内存,该内存不能为"Read" 。如果我现在打开一个excel文件的话,再运行程序,这是程序根本就挂了,郁闷啊~什么原因啊?高手们指导一下,我的MSN是[email protected]