asp读取数据库数据并生成excel文件实例
代码如下:

代码 复制 - 运行

<HTML>
<HEAD>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type"> 
<TITLE>生成EXCEL文件实例</TITLE> 
</HEAD> 
<body> 
<a href="dbtoexcel.asp?act=make">在线生成EXCEL</a> 
<hr size=1 align=left width=300px> 
<%
if Request("act") = "" then 
Response.Write "生成EXCEL文件实例" 
else
dim conn,strconn 
strconn="driver={SQL Server};server=wen;uid=sa;pwd=;database=DB_Test" 
set conn=server.CreateObject("adodb.connection") 
conn.Open strconn
dim rs,sql,filename,fs,myfile,x
Set fs = server.CreateObject("scripting.filesystemobject") 
'--假设你想让生成的EXCEL文件做如下的存放 
filename = Server.MapPath("online.xls") 
'--如果原来的EXCEL文件存在的话就删除 
if fs.FileExists(filename) then
fs.DeleteFile(filename) 
end if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
Set rs = Server.CreateObject("ADODB.Recordset")
'--从数据库中把你想放到EXCEL中的数据读出来 
sql = "select * from Tb_Execl order by id desc" 
rs.Open sql,conn,1,1

if rs.EOF and rs.BOF then
else
dim strLine,responsestr 
strLine=""
For each x in rs.fields
strLine = strLine & x.name & chr(9)
Next
'--将表的列名先写入EXCEL 
myfile.writeline strLine
Do while Not rs.EOF 
strLine=""
for each x in rs.Fields 
strLine = strLine & x.value & chr(9) 
next
'--将表的数据写入EXCEL 
myfile.writeline strLine
rs.MoveNext
loop
end if
rs.Close 
set rs = nothing
End If
%>