如何在asp中把数据库内容导出到excel?
就这么简单的代码,我居然弄了一个下午和一个晚上,还好,总算解决了,现把过程总结如下:
1.完整代码: <% set rs=server.createobject("adodb.recordset") sql="select * from deptinfo" rs.open sql,conn,1,1 Set ExcelApp=server.CreateObject("Excel.Application") '就这句害人!!! ExcelApp.Application.Visible = True Set ExcelBook = ExcelApp.Workbooks.Add ExcelBook.WorkSheets(1).cells(1,1).value ="部门表" ExcelBook.WorkSheets(1).cells(2,1).value = "部门编号" ExcelBook.WorkSheets(1).cells(2,2).value = "部门名称" ExcelBook.WorkSheets(1).cells(2,3).value = "负责人" ExcelBook.WorkSheets(1).cells(2,4).value = "书记" ExcelBook.WorkSheets(1).cells(2,5).value = "其他负责人" ExcelBook.WorkSheets(1).cells(2,6).value = "是否教学部门" cnt =3 do while not rs.eof ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("deptid") ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("deptname") ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("governor") ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("g1") ExcelBook.WorkSheets(1).cells(cnt,5).value = rs("g2") ExcelBook.WorkSheets(1).cells(cnt,6).value = rs("istechdept") rs.movenext cnt = cint(cnt) + 1 loop rs.close set rs=nothing Excelbook.SaveAs "d:\yourfile.xls" '这个是数据导出完毕以后在D盘存成文件 ExcelApp.Application.Quit '导出以后退出Excel Set ExcelApp = Nothing '注销Excel对象 response.Write "导出成功!" %>
2.调试时,Set ExcelApp=server.CreateObject("Excel.Application") 这一句总是出现以下错误: 运行,产生错误 错误类型: Server 对象, ASP 0178 (0x80070005) 检查权限时,对 Server.CreateObject 的调用失败。拒绝对此对象的访问。
3.解决方案: 管理工具-->组件服务-->计算机-->我的电脑-->DCOM配置
(1)选择Microsoft Excel 应用程序 -->属性
标识:选择交互式用户
安全:启动和激活权限-->自定义,加入InterNet来宾帐户,勾上本地启动和本地激活 Internet来宾账户的添加方法如下:
(2)选择Microsoft Office Excel 2007 工作簿 -->属性
常规:身份验证级别 -->无
|