1、ASP文件:
<%@ LANGUAGE="VBSCRIPT" %> <%option explicit%> <% 'EXAMPLE AS:把数据库中一个每天24小时在线人数放到一个EXCEL文件中去 'AUTHOR:钢铁工人 'EMAIL :hello_hhb@21cn.com 'DATE:2001-3-25 'TEST:在NT4,SP6,SQL SERVER 7.0,EXCEL2000中测试通过 %> <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 else
dim conn set conn=server.CreateObject("adodb.connection") conn.Open "test","sa","" 'conn.Open Application("connstr")
dim rs,sql,filename,fs,myfile,x,link
Set fs = server.CreateObject("scripting.filesystemobject") '--假设你想让生成的EXCEL文件做如下的存放 filename = "c:\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 population,hourpos,datepos from populationperhour order by datepos,hourpos asc" rs.Open sql,conn 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 conn.close set conn = nothing set myfile = nothing Set fs=Nothing
link="<A HREF=" & filename & ">Open The Excel File</a>" Response.write link end if %> </BODY> </HTML>
2、数据库相关:
CREATE TABLE [populationperhour] ( [population] [int] NOT NULL , [hourpos] [int] NOT NULL , [datepos] [datetime] NOT NULL ); insert into populationperhour values('936','1','2001-1-11'); insert into populationperhour values('636','2','2001-1-11'); insert into populationperhour values('106','3','2001-1-11'); insert into populationperhour values('177','4','2001-1-11'); insert into populationperhour values('140','5','2001-1-11'); insert into populationperhour values('114','6','2001-1-11'); insert into populationperhour values('94','7','2001-1-11'); insert into populationperhour values('49','8','2001-1-11'); insert into populationperhour values('88','9','2001-1-11'); insert into populationperhour values('215','10','2001-1-11'); insert into populationperhour values('370','11','2001-1-11'); insert into populationperhour values('550','12','2001-1-11'); insert into populationperhour values('629','13','2001-1-11'); insert into populationperhour values('756','14','2001-1-11'); insert into populationperhour values('833','15','2001-1-11'); insert into populationperhour values('923','16','2001-1-11'); insert into populationperhour values('980','17','2001-1-11'); insert into populationperhour values('957','18','2001-1-11'); insert into populationperhour values('812','19','2001-1-11'); insert into populationperhour values('952','20','2001-1-11'); insert into populationperhour values('1379','21','2001-1-11'); insert into populationperhour values('1516','22','2001-1-11'); insert into populationperhour values('1476','23','2001-1-11'); insert into populationperhour values('1291','24','2001-1-11'); insert into populationperhour values('1028','1','2001-1-12'); insert into populationperhour values('687','2','2001-1-12'); insert into populationperhour values('462','3','2001-1-12'); insert into populationperhour values('317','4','2001-1-12'); insert into populationperhour values('221','5','2001-1-12'); insert into populationperhour values('158','6','2001-1-12'); insert into populationperhour values('127','7','2001-1-12'); insert into populationperhour values('81','8','2001-1-12'); insert into populationperhour values('96','9','2001-1-12'); insert into populationperhour values('192','10','2001-1-12'); insert into populationperhour values('380','11','2001-1-12'); insert into populationperhour values('629','12','2001-1-12'); insert into populationperhour values('745','13','2001-1-12'); insert into populationperhour values('964','14','2001-1-12'); insert into populationperhour values('1012','15','2001-1-12'); insert into populationperhour values('1050','16','2001-1-12'); insert into populationperhour values('1135','17','2001-1-12'); insert into populationperhour values('1130','18','2001-1-12'); insert into populationperhour values('894','19','2001-1-12'); insert into populationperhour values('1026','20','2001-1-12'); insert into populationperhour values('1430','21','2001-1-12'); insert into populationperhour values('1777','22','2001-1-12'); insert into populationperhour values('1759','23','2001-1-12'); insert into populationperhour values('1697','24','2001-1-12');
|