如何将数据库里的记录生成一个Excel文件?

来源:asp之家 时间:2009-12-03 20:09:00 

我想把存在数据库里的每天24小时来访者数另放到一个Excel文件中去,可以吗?

可以,其实就是将数据库里面的内容生成一个Excel文件:

toexcel.asp


<%@ LANGUAGE="VBSCRIPT" %>
<%option explicit%>
<HTML>
<HEAD>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
<TITLE>asp教程之生成Excel文件 - Aspxhome.com</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")
  filename = "c:\visitintels.xls"
  ' 生成的Excel文件路径
  if fs.FileExists(filename) then
    fs.DeleteFile(filename)
  ' 如有原来相同的Excel文件删除(覆盖)它
  end if
  set myfile = fs.CreateTextFile(filename,true)
  ' 创建Excel文件

  Set rs = Server.CreateObject("ADODB.Recordset")
  sql = "select population,hourpos,datepos from populationperhour order by datepos,hourpos asc"
  ' 从数据库中把需放到Excel文件中的数据查找出来
  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
      myfile.writeline strLine
' 将表的数据写入Excel文件
      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>

下面是数据库的内容:

CREATE TABLE [populationperhour] (
    [population] [int] NOT NULL ,
    [hourpos] [int] NOT NULL ,
    [datepos] [datetime] NOT NULL 
);
insert into populationperhour values('135','1','2001-10-17');
insert into populationperhour values('667','2','2001-10-17');
insert into populationperhour values('557','3','2001-10-17');
...
insert into populationperhour values('167','660','2001-10-17');
insert into populationperhour values('843','661','2001-10-17');

 

标签:excel,数据库,生成
0
投稿

猜你喜欢

  • js加密页面代码生成器

    2007-10-12 13:40:00
  • 通过T-SQL语句实现数据库备份与还原的代码

    2011-12-01 08:02:15
  • 一个滑动展示的小代码

    2011-07-01 12:58:05
  • MySQL身份认证漏洞 升级到5.5.24可修正

    2012-07-11 15:54:09
  • css清除浮动的最优方法

    2008-04-25 22:33:00
  • Oracle数据库逻辑备份的SH文件

    2010-07-27 13:26:00
  • JavaScript 组件之旅(二):编码实现和算法

    2009-10-09 14:24:00
  • 分步启动数据库以重命名数据文件

    2009-03-25 12:33:00
  • 1500个绚丽主题 谷歌中国个人风格首页发布

    2008-11-12 11:14:00
  • 用JS实现渐变效果,兼容各款浏览器

    2008-09-13 19:10:00
  • 让文本框textarea自动适应内容的高度

    2008-07-01 14:44:00
  • sqlserver 2000中创建用户的图文方法

    2012-03-26 18:26:39
  • 在查询分析器理启动或停止SQL Agent服务

    2009-01-08 16:20:00
  • MSSQL存储过程解秘过程全析

    2010-07-05 08:49:00
  • 如何取得刚添加的记录自动增加的ID?

    2010-01-18 20:55:00
  • sqlserver索引的原理及索引建立的注意事项小结

    2012-08-21 10:54:34
  • 互联网产品设计师职业生涯

    2009-04-20 20:41:00
  • 提高javascript的速度系列(序)

    2008-07-15 12:38:00
  • SQL Server连接中经常出现的3个常见错误与解答

    2010-07-26 14:25:00
  • 简单获取键盘的KeyCode

    2008-04-18 12:37:00
  • asp之家 网络编程 m.aspxhome.com