请高手分析一下代码,解决超时,与未知异常,以及内存超出三个问题.
sub ExportToExcel(objRS)
set objExcelApp = server.CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false
objExcelApp.Application.Visible = false
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objMySheet = objExcelApp.WorkSheets(1)
'set objMySheet = server.createobject("Excel.Sheet")
'objMySheet.Application.Visible = True
Dim objField, iCol, iRow,i
i = 0
iCol = 1
iRow = 1
'header Text
objMySheet.Cells(iRow, iCol).Value = "Expense Data"
objMySheet.Columns(iCol).ShrinkToFit=false
iRow = iRow + 1
'column Name
For Each objField in objRS.Fields
objMySheet.Cells(iRow, iCol).Value = objField.Name
iCol = iCol + 1
Next
'display ALl data
Do While Not objRS.EOF
iRow = iRow + 1
iCol = 1
For i= 0 to objRS.fields.Count-1
'objMySheet.Columns(iCol).ShrinkToFit=false
objMySheet.Cells(iRow,iCol).value = objRS.fields(i)
iCol = iCol + 1
next
' For Each objField in objRS.Fields
' If IsNull(objField.Value) then
' objMySheet.Cells(iRow, iCol).Value = ""
' Else
' objMySheet.Columns(iCol).ShrinkToFit=false
' objMySheet.Cells(iRow, iCol).Value = objField.Value
' End If
' iCol = iCol + 1
' Next
objRS.MoveNext
Loop
ExcelFileName = "./Excel/" & GetFileName() & ".xls"
'response.write "<br>" & ExcelFileName
objMySheet.SaveAs server.mappath(ExcelFileName)
objRS.Close
objExcelApp.Quit
set objExcelApp = nothing
set objExcelBook = nothing
set objExcelSheets = nothing
set objMySheet = nothing
Response.write "<a href='" & server.URLEncode(ExcelFileName) & "'> Open File</a>"
End sub
写了这个方法,是向excel中导入数据的,数据量并不多才1000多条.但会出现一些问题.
如生成Excel文件过慢.注释掉的代码比替代的我测试了一下,要慢50%.但仍解决不掉我提出的那些问题.
大家有好方法没有,请教了.