手机版 | 登录 | 注册 | 留言 | 设首页 | 加收藏
联系客服
当前位置: 网站首页 > 程序技巧 > 文章 当前位置: 程序技巧 > 文章

asp中把数据导出为excel的方法

时间:2021-04-17    点击: 次    来源:网络    添加者:佚名 - 小 + 大

这种方法利用Excel组件直接导出excel文件,要求服务器端安装有微软office(Excel)程序,否则无法运行。这种方法适用于win2000sever系统的:

<%
set rs=server.createobject("adodb.recordset")
sql="select * from mkusers"
rs.open sql,objconn,1,1
Set ExcelApp =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 = "密码"
cnt =3
do while not rs.eof
ExcelBook.WorkSheets(1).cells(cnt,1).value = rs("provinceid")
ExcelBook.WorkSheets(1).cells(cnt,2).value = rs("province")
ExcelBook.WorkSheets(1).cells(cnt,3).value = rs("flag")
ExcelBook.WorkSheets(1).cells(cnt,4).value = rs("id")
rs.movenext
cnt = cint(cnt) + 1
loop
Excelbook.SaveAs "d:\yourfile.xls"  '这个是数据导出完毕以后在D盘存成文件
ExcelApp.Application.Quit   '导出以后退出Excel
Set ExcelApp = Nothing   '注销Excel对象
%>

方法二:使用文件组件

<%
dim s,sql,filename,fs,myfile,x
 
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath("order.xls")
'--如果原来的EXCEL文件存在的话删除它
if fs.FileExists(filename) then
   fs.DeleteFile(filename)
end  if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
 
 
StartTime = Request("StartTime")
EndTime = Request("EndTime")
StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#"
strSql = "select * from mksuers "
Set rstData =conn.execute(strSql)
if not rstData.EOF and not rstData.BOF then
 
   dim  trLine,responsestr
   strLine=""
   For each x in rstData.fields
     strLine = strLine & x.name & chr(9)
   Next
 
'--将表的列名先写入EXCEL
   myfile.writeline strLine
 
   Do while Not rstData.EOF
     strLine=""
 
     for each x in rstData.Fields
       strLine = strLine & x.value &  chr(9)
     next
     myfile.writeline  strLine
 
     rstData.MoveNext
   loop
 
end if
Response.Write  "生成EXCEL文件成功,点击<a href="/" rel="external nofollow" order.xls"" target=""_blank"">下载!"
rstData.Close
set rstData = nothing
Conn.Close
Set Conn = nothing
%>


方法三:

    该方法不使用任何组件。而是将所有导出的数据在网页中以Table进行显示,然后增加如下两行代码,即可实现打开网页后直接下载保存为Excel:

    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "Content-Disposition", "attachment;filename=TestExcel.xls"

    完整示例如下:

<%
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=TestExcel.xls"
 
Set conn=server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& Server.MapPath("/db.mdb")
conn.open connstr
 
set rs=server.createobject("adodb.recordset")
sql="select * from xiaozu"
rs.open sql,conn,1,1
%>
<table border="1">
<tr>
    <td>小组名称</td>
        <td>学生名单</td>
        <td>所属学院</td>
        <td>实习景区</td>
    </tr>
<%
while not rs.eof and not rs.bof
%>    
<tr>
    <td><%=rs("XZName")%></td>
        <td><%=rs("XZStudents")%></td>
        <td><%=rs("XZCollage")%></td>
        <td><%=rs("XZJD")%></td>
    </tr>
<% rs.movenext
wend
%>
</table>
<%
rs.close
set rs = nothing
conn.close
set conn = nothing
%>

分享按钮

上一篇:ASP获取数据库表名、库名、字段名的方法

下一篇:ASP教程(Sub和Function)

豫ICP备19032584号-1  |   QQ:80571569  |  地址:河南濮阳市  |  电话:13030322310  |  
Copyright © 2024 FE内容付费系统 版权所有,授权www.xingwp.cn使用 Powered by 66FE.COM