关键词搜索

源码搜索 ×
×

ASP access导出到Excel

发布2016-06-02浏览1133次

详情内容

<!--#include file="../include/buyok_shop_30_conn.asp"-->
<!--#include file="../chopchar.asp"-->
<!--#include file="checkadmin.asp"-->
<% 
 
dim s,sql,filename,fs,myfile,x 
 
Set fs = server.CreateObject("scripting.filesystemobject") 
'--假设你想让生成的EXCEL文件做如下的存放 
filename = Server.MapPath("order.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 * from Tb_Execl order by id desc" 
'rs.Open  sql,conn 
StartTime = Request("StartTime")
EndTime = Request("EndTime")
StartEndTime = "AddTime between #"& StartTime &" 00:00:00# and #"& EndTime &" 23:59:59#"

strSql = "select * from services "
Set rstData =conn.execute(strSql)
if not rstData.EOF and not rstData.BOF then 
 
    dim  trLine,responsestr 
    strLine="" 
    For each x in rstData.fields 
        strLine = strLine & x.name & chr(9) 
   Next 
 
'--将表的列名先写入EXCEL 
    myfile.writeline strLine 
 
    Do while Not rstData.EOF 
        strLine="" 
 
        for each x in rstData.Fields 
            strLine = strLine & x.value &  chr(9) 
        next 
        myfile.writeline  strLine 
 
        rstData.MoveNext 
    loop 
 
end if 

Response.Write  "生成EXCEL文件成功,点击<a href="/"order.xls"" target=""_blank"">下载</a>!"

rstData.Close 
set rstData = nothing
Conn.Close
Set Conn = nothing
%>

 

 

Excel表中出现错行现象

 

写入数据的时候,excel默认是以“,”为分隔符,一遇到“,”,它就会自动将数据写到下一个字段项,因此,如果你的数据中出现了半角的逗号(例如:联系方式里面有逗号),那么逗号后面的内容将会写到下一格,这样依此往后推,那么写入的数据就会错位,一片混乱。如果你将留言版的内容写入,就会碰到这样的问题,解决的办法就是用替换函数。
function HTMLEncode(fString)
if not isnull(fString) then
fString = Replace(fString,",", ",")
fString = Replace(fString,chr(10), ",")
fString = Replace(fString,chr(13), " ")
fString = Replace(fString,"<br>", ",")
fString = Replace(fString,"&nbsp;", " ")
HTMLEncode2 = fString
end if
end function

将这个HTMLEncode(fString)用进去,将rs("联系地址")改成 HTMLEncode(rs("联系地址")),以及所有可能会出现“,”的字段改成HTMLEncode(rs("xxx")),就可以避免数据错位了。

 

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载