asp生成多个表的XLS文件

stephen0403 2009-01-06 01:40:40
用ASP导出数据库里面的数据生成XLS文件,文件内容为客户资料和配套的产品信息。因为数据太多,生成一个XLS文件的时候出错。(验证过,去掉部分产品数据的导出代码,就正常了)估计为导出的XLS文件大小有限制,难道超过了65535行?

向大家请教,如何让生成的文件按照客户数自动分成多个表,比如200个客户一个表,然后成为一个XLS文件。谢谢各位了。
...全文
128 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stephen0403 2009-01-09
  • 打赏
  • 举报
回复
<%response.ContentType ="application/vnd.ms-Excel"%>


事实证明,这样的方法生成XLS大小有限制。excel本身行数也有限制,最后加了一个session,定义一次搜索条件才搞定。
stephen0403 2009-01-06
  • 打赏
  • 举报
回复
谢谢楼上,那再次请教一下各位,如何一次查询出来之后,在内存里面做分页呢
stephen0403 2009-01-06
  • 打赏
  • 举报
回复
恩。谢谢楼上了。再请教下,如何一次性查出来在内存里面分页呢。
jankrong 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 stephen0403 的回复:]
生成xls部分代码:

<%
set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from customers" & search & " order by id DESC"
'response.write sql
'response.end
rs.Open sql,conn,1,1
%>
<%response.ContentType ="application/vnd.ms-Excel"%>

请教各位如何分表
[/Quote]

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'数据库连接自己写
Dim NextID,getid
getid=Request.QueryString("NextID")
If not IsNumeric(getid) then
sql="select top 500 * from customers order by id asc"
Else
sql="select top 500 * from customers where id>"&getid&" order by id asc"
End if
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.open sql,Conn,1,1
if rs.recordcount=0 then
Response.Write("暂无数据!")
Else
Do while Not rs.eof'开始循环
NextID=""
'生成表格开始
'自己去写了!
'生成表格结束
NextID=rs("id")
rs.Movenext
Loop'结束循环
End if
rs.close

rs.open "select top 1 id from customers where id>"&NextID&" order by id asc",Conn,1,1
if rs.recordcount=0 then
Response.Write("已生成完毕!")
else
Urll="http://"&Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("SCRIPT_NAME")&"?NextID="rs("id")
Response.Write("<script>window.lcation.href="""&Urll&""";</script>")
End if
rs.Close
Set rs=Nothing
Conn.close
Set Conn=Nothing
%>
这样可以分每500个记录一次生成,生成一次就生成一个页面即可。
stephen0403 2009-01-06
  • 打赏
  • 举报
回复
请教楼上,那该怎么实现呢。谢谢了。
archu 2009-01-06
  • 打赏
  • 举报
回复
那么你就分次查询出来,每次查200个客户
或者一次查询出来之后,在内存里面做分页好了
cuixiping 2009-01-06
  • 打赏
  • 举报
回复
那是你的导出方法的问题,XLS不存在行数限制的问题。
stephen0403 2009-01-06
  • 打赏
  • 举报
回复
生成xls部分代码:

<%
set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from customers" & search & " order by id DESC"
'response.write sql
'response.end
rs.Open sql,conn,1,1
%>
<%response.ContentType ="application/vnd.ms-Excel"%>

请教各位如何分表

28,408

社区成员

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

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