asp代码实现access数据导出到excel文件:
一,下面是导出XLS格式
<% dim referer referer = Request.ServerVariables("HTTP_REFERER") Dim CName,action action=request.Form("action") CName="../../Excel/" dim daytime ’daytime=year(now())&"-"&month(now())&"-"&day(now())&"-"&hour(now())&"-"&Minute(now()) daytime=year(now())&"年"&month(now())&"月"&day(now())&"日"&hour(now())&"时" Set rs = Server.CreateObject("ADODB.Recordset") ’--从数据库中把你想放到EXCEL中的数据查出来 sql="select * from gbook order by id desc" rs.Open sql,conn if rs.EOF and rs.BOF then response.write "<script>alert(’操作出错,下面是产生错误的可能原因:nn库里暂时没有数据,所以不能导出EXCEL文件!’);location.href = ’"&referer&"’;</script>" response.end else dim filename,fs,myfile,x Set fs = server.CreateObject("scripting.filesystemobject") ’--假设你想让生成的EXCEL文件做如下的存放 filename = Server.MapPath(""&CName&""&daytime&".xls") ’--如果原来的EXCEL文件存在的话删除它 if fs.FileExists(filename) then fs.DeleteFile(filename) end if ’--创建EXCEL文件 set myfile = fs.CreateTextFile(filename,true) 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 rs.Close set rs = nothing conn.close set conn = nothing set myfile = nothing Set fs=Nothing Response.Write "<BR><BR><center><b>导出成功,请选择继续操作</b></center>" Response.Write "<br>" response.Write "<table width=90% cellspacing=1 cellpadding=3 align=center>" Response.Write "<tr align=center> <td>" response.write ("<font color=green>√</font><a href=’"&CName&""&ENames&".xls’>下载</a>") & " <font color= green>√</font><a href=’"&referer&"’>返回</a>" Response.Write "</td></tr></table>" end if %> |
二,下面是导出CSV格式
<% dim referer referer = Request.ServerVariables("HTTP_REFERER") Dim CName,action action=request.Form("action") CName="../../Excel/" dim daytime ’daytime=year(now())&"-"&month(now())&"-"&day(now())&"-"&hour(now())&"-"&Minute(now()) daytime=year(now())&"年"&month(now())&"月"&day(now())&"日"&hour(now())&"时" Set rs = Server.CreateObject("ADODB.Recordset") ’--从数据库中把你想放到EXCEL中的数据查出来 sql="select * from gbook order by id desc" rs.Open sql,conn if rs.EOF and rs.BOF then response.write "<script>alert(’操作出错,下面是产生错误的可能原因:nn库里暂时没有数据,所以不能导出EXCEL文件!’);location.href = ’"&referer&"’;</script>" response.end else Dim Fs,Exc Dim Excelstring,ExcelHead,Excelstr,Excelstr2 Dim Scou_FileNamen,Scou_FieldList Dim Dest_FileName,Dest_FieldList Dest_FileName=""&CName&""&daytime&".csv" Excelstring = "" ExcelHead = "识别号" & "," & "主题类型" & "," & "公司名称"& "," & "姓名"& "," & "性别"& "," & "职位"& "," & "城市省份" & "," & "城市" & "," & "公司地址"& "," & "邮编"& "," & "邮件"& "," & "电话"& "," & "传真" & "," & "手机"& "," & "公司网址"& "," & "详细内容"& "," & "IP地址"& "," & "留言时间" Set Rs = Server.CreateObject ("ADODB.Recordset") Sql = "Select * From gbook" Rs.Open Sql,Conn,1,3 Do While Not Rs.Eof Excelstr = Rs("ID") & "," & Rs("zhutiname") & "," & Rs("gsname") & "," & Rs("gsname") & "," & Rs("sex") & "," & Rs("zhiwei")& "," & Rs("Province")& "," & Rs("City") & "," & Rs("dizhi") & "," & Rs("youbian") & "," & Rs("email") & "," & Rs("tel")& "," & Rs("fax")& "," & Rs("tel2") & "," & Rs("homeurl") & "," & Rs("body") & "," & Rs("ip") & "," & Rs("addtime") Excelstr2 = Excelstr2 & Chr(13) & Excelstr Rs.Movenext Loop Excelstring = ExcelHead & Excelstr2 Rs.Close Set Rs=Nothing Set Fs = CreateObject("Scripting.FileSystemObject") Set Exc = Fs.OpenTextFile(Server.MapPath(Dest_FileName),2,True) Exc.Write(Excelstring) If Fs.FileExists(Server.MapPath(Dest_FileName)) Then Response.Write("<a href=’"&Dest_FileName&"’>报表已经生成,点击查看</a><hr>") Response.Write("<a href=’"&referer&"’>返回</a>") ’Response.write(Excelstring) Else Response.Write("生成报表失败!") End If end if %> |
……