不足之处,可能受到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
%>