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);
