asp使用excel.application导出excel,在xp下正常,但是在win2003环境下面,excel文件可以正常生成,但是程序没有响应,要在任务管理器里面把excel的进程停止才能往下进行,已经在dcomcnfg下面配置了权限。
关键代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Public Function export2Excel()
if strSql = "" or strField = "" then
response.write "参数设置错误"
response.end
end if
set objFso = createobject("scripting.filesystemobject")
if objFso.FolderExists(server.mappath(strFilePath)) = False then
objFso.Createfolder(server.mappath(strFilePath))
end if
strFileName = strFilePath & cstr(createFileName()) & ".xls"
set objRs = server.CreateObject("adodb.RecordSet")
objRs.open strSql,objDbCn,3,3
set objXlsApp = server.CreateObject("Excel.Application")
objXlsApp.Visible = false
objXlsApp.WorkBooks.Add
set objXlsWorkBook = objXlsApp.ActiveWorkBook
set objXlsWorkSheet = objXlsWorkBook.WorkSheets(1)
arrField = split(strField,"||")
for f = 0 to Ubound(arrField)
objXlsWorkSheet.Cells(1,f+1).Value = arrField(f)
objXlsWorkSheet.Cells(1,f+1).Interior.ColorIndex = 8
next
for c = 1 to objRs.recordcount
for f = 0 to objRs.fields.count - 1
objXlsWorkSheet.Cells(c+1,f+1).Value = objRs.fields(f).value
next
objRs.movenext
next
objXlsWorkSheet.SaveAs server.mappath(strFileName)
strHtml = "导出成功"
objXlsApp.Quit
set objXlsWorkSheet = nothing
set objXlsWorkBook = nothing
set objXlsApp = nothing
objRs.close
set objRs = nothing
export2Excel = strHtml
End Function
%>
经过测试, objXlsWorkSheet.SaveAs server.mappath(strFileName),就是执行到这个地方无法往下执行
关键代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Public Function export2Excel()
if strSql = "" or strField = "" then
response.write "参数设置错误"
response.end
end if
set objFso = createobject("scripting.filesystemobject")
if objFso.FolderExists(server.mappath(strFilePath)) = False then
objFso.Createfolder(server.mappath(strFilePath))
end if
strFileName = strFilePath & cstr(createFileName()) & ".xls"
set objRs = server.CreateObject("adodb.RecordSet")
objRs.open strSql,objDbCn,3,3
set objXlsApp = server.CreateObject("Excel.Application")
objXlsApp.Visible = false
objXlsApp.WorkBooks.Add
set objXlsWorkBook = objXlsApp.ActiveWorkBook
set objXlsWorkSheet = objXlsWorkBook.WorkSheets(1)
arrField = split(strField,"||")
for f = 0 to Ubound(arrField)
objXlsWorkSheet.Cells(1,f+1).Value = arrField(f)
objXlsWorkSheet.Cells(1,f+1).Interior.ColorIndex = 8
next
for c = 1 to objRs.recordcount
for f = 0 to objRs.fields.count - 1
objXlsWorkSheet.Cells(c+1,f+1).Value = objRs.fields(f).value
next
objRs.movenext
next
objXlsWorkSheet.SaveAs server.mappath(strFileName)
strHtml = "导出成功"
objXlsApp.Quit
set objXlsWorkSheet = nothing
set objXlsWorkBook = nothing
set objXlsApp = nothing
objRs.close
set objRs = nothing
export2Excel = strHtml
End Function
%>
经过测试, objXlsWorkSheet.SaveAs server.mappath(strFileName),就是执行到这个地方无法往下执行