用ASP将数据库中的记录生成excel

不足之处,可能受到fso权限的设置。

<!--#include file="Conn.asp"-->
<HTML>
 <HEAD>
 <meta content="text/html; charset=gb2312" http-equiv="Content-Type"> 
 <TITLE>生成EXCEL文件</TITLE> 
 </HEAD> 
 <body> 
 <%
 if Request("act") = "" then 
   Response.Write "<a href=Jbtoexcel.asp?act=make><center>在线生成EXCEL</center></a>" 
   Response.Write "<hr size=1 align=center  width=800px>"
  else
  Set fs = server.CreateObject("scripting.filesystemobject") 
  '--假设你想让生成的EXCEL文件做如下的存放 
  filename = Server.MapPath("online.xls") 
  '--如果原来的EXCEL文件存在的话删除它 
  if fs.FileExists(filename) then
     fs.DeleteFile(filename) 
  end if
  'response.End()
  '--创建EXCEL文件
  set myfile = fs.CreateTextFile(filename,true)
  Set rs = Server.CreateObject("ADODB.Recordset")
  '--从数据库中把你想放到EXCEL中的数据查出来 
  sql = "select person_name,person_sex,person_bumen,person_gangwei,person_birth,person_wenhua,person_zhuanye,person_school,person_zhicheng,person_jiguan,person_shenfen,person_money,person_ruzhi,person_beizhu from person order by id desc" 
  rs.Open sql,conn,1,1

  if rs.EOF and rs.BOF then
  else
   dim strLine,responsestr 
   strLine=""
   For i=0 to ubound(arrZiduan)
    strLine = strLine & arrZiduan(i) & 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,这里这样写是因为我的数据库中有的字段时通过循环数组得到数字值。所以没有直接循环字段插入excel
  pyqk=datediff("m",rs("person_ruzhi"),now)
  excelstr=""&rs("person_name")&""&chr(9)&""&rs("person_sex")&""&chr(9)&""&rs("person_bumen")&""&chr(9)&""&rs("person_gangwei")& ""&chr(9)&""& rs("person_birth")&""&chr(9)&""&arrWenhua(rs("person_wenhua"))&""&chr(9)&""&rs("person_zhuanye")&""&chr(9)&""&rs("person_school")&""&chr(9)&""&rs("person_zhicheng")&""&chr(9)&""&rs("person_jiguan")&""&chr(9)&""&rs("person_shenfen")&""&chr(9)&""&rs("person_money")&""&chr(9)&""&rs("person_ruzhi")&""&chr(9)&""&pyqk&""&chr(9)&""&rs("person_beizhu")&""
     strLine=strLine&excelstr
    myfile.writeline strLine
   rs.MoveNext
   loop
 myfile.writeline strLine
  end if
  if fs.FileExists(Server.MapPath("online.xls")) then
     Response.Write "<a href=online.xls><center>报表已经生成,点击查看!</center></a>"
  Response.Write "<hr size=1 align=center  width=800px>"
    else
     Response.Write "<javascript:history.go(-1)>生成报表失败!</script>"
  end if
  set fs=nothing
  rs.Close 
  set  rs  =  nothing
  End If
 %>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值