asp导出excel错行的问题,用fso方式

gelihui 2007-04-26 04:59:52
其它都挺好,不过有时会导出错行的数据,比如,
数据集本来应该是这样的:
编号 | 内容 | 提交人
122 ded 甲
123 gg 乙
124 bb 丙

生成的excel如下:
编号 | 内容 | 提交人
122 ded 甲
123
gg 乙
124 bb 丙

我不知道为什么,代码如下,希望高手指点一二.

代码:
<!-- #include file="db.asp" -->
<%
sqlwhere=request("sqlwhere")
sqlsort = request("sqlsort")

sqlwhere=replace(sqlwhere,"||","'")
sqlwhere=replace(sqlwhere,"//","%")

sql = sql & "select '#'||bh||'#' 编号, "
sql = sql & " nr 内容, "
sql = sql & " tjr 提交人"
sql = sql & " from table1 "
sql = sql & " where 1=1 "

sql = sql & sqlwhere & sqlsort




ftime=year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())
deltime=dateadd("n",-10,now())
fname=".\excel\"&ftime&".xls"

filename = Server.MapPath(fname)
filefolder=Server.MapPath(".\excel")



'创建一个FileSystemObject对象的事例
Set fs = server.CreateObject("scripting.filesystemobject")

'创建一个Folder对象
Set fsFolder=fs.GetFolder(filefolder)

'循环显示其中子目录
For Each thing in fsFolder.Files
"<br>"&delfile&"<br>"&thing.name&"<br>"&thing.DateLastModified
if thing.DateLastModified < deltime then
fs.DeleteFile(thing)
end if
Next



'--如果原来的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中的数据查出来
rs.Open sql,cn,1,3



if rs.EOF and rs.BOF then
else
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
cn.close
set cn = nothing
End If



response.write "<h3 align=center>导出为excel成功 , 请 <a href="&fname&"

target='_blank'>下载</a> 。</h3>"
%>
...全文
359 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gelihui 2007-04-30
  • 打赏
  • 举报
回复
我查到问题了,因为内容中带有换行符。
gelihui 2007-04-26
  • 打赏
  • 举报
回复
请看一下开头的几段.
小弟给您贴在这里:
-----------------------
数据集本来应该是这样的:
编号 | 内容 | 提交人
122 ded 甲
123 gg 乙
124 bb 丙

生成的excel如下:
编号 | 内容 | 提交人
122 ded 甲
123
gg 乙
124 bb 丙
------------------
jacklinchen 2007-04-26
  • 打赏
  • 举报
回复
好像没问题,只要有权限即可。会导出错行的数据? 是什么意思

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧