评论

收藏

[办公软件] 如何用ASP将ACCESS表记录导出EXCEL文件

电脑办公 电脑办公 发布于:2021-06-24 13:47 | 阅读数:474 | 评论:0

问题:将ACCESS表中的数据记录导入到EXCEL文件中,用ASP如何实现。解答:
首先,我是用SQL语句把数据从ACCESS表中读出,再把数据逐行写入excel表中。
第一步:读数据出来
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from user ",conn,1,1  第二步:写入数据到excel文件中
if not (rs.eof And rs.bof) then  
  dim ttxt,file,filepath,writefile
  ttxt="user.csv"  '为要写入的文件取个文件名,后缀可以是txt,xls,这里我用csv,这种文件打开也是excel表
  Set file = CreateObject("Scripting.FileSystemObject")
  Application.lock
  '写入文件的存放路径,一定要开放这个路径下的读写权限
  filepath=Server.MapPath(ttxt) Set Writefile = file.CreateTextFile(filepath,true)  '在表格中写入第一行,字段描述,这个根据你实际的数据表字段来写
  Writefile.WriteLine "姓名,职位,E-mail,单位名称,联系地址,提交时间"
  do while not rs.eof
  Writefile.WriteLine rs("姓名")&","&rs("职位")&","&rs("E-mail")&","&rs("单位名称")&","&rs("联系地址")&","&rs("提交时间")
  rs.movenext
  loop
  '以上三行作用是逐行将数据写入表中
  Writefile.close
  Application.unlock
  rs.close
  set rs=nothing
end if
'完成写入
  --------------------------------------------------------------------------------------------------------------
  如转载请注明出处:来源于繁星点点的博客http://fanxing.blog.51cto.com/189800/40390
  --------------------------------------------------------------------------------------------------------------
  就这两步就可以实现将ACCESS表中的数据导入到EXCEL文件中了,完成以后打开刚才的user.csv文件,里面是不是有数据了?
这里还要提一个注意事项,写入数据的时候,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")),就可以避免数据错位了。
  以上是我成功测试过的一个方法,如果还有更好的方法,欢迎留言讨论。
  -----------------------------------------------------
  转载请注明出处:来源于繁星点点的博客
  http://fanxing.blog.51cto.com/189800/40390
-----------------------------------------------------
http://www.secct.com/server_itwaibao.htm
http://www.realview.com.cn
关注下面的标签,发现更多相似文章