ASP access导出到Excel

来源:互联网 发布:软件公司java笔试题 编辑:程序博客网 时间:2024/05/18 17:00

<!--#includefile="../include/buyok_shop_30_conn.asp"-->
<!--#includefile="../chopchar.asp"-->
<!--#includefile="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 iddesc" 
'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 xin rstData.fields 
       strLine = strLine & x.name &chr(9) 
   Next 
 
'--将表的列名先写入EXCEL 
   myfile.writeline strLine 
 
    Do while NotrstData.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")),就可以避免数据错位了。

 

 

0 0
原创粉丝点击