asp.net如何导出上万或几十万条数据
客户需要把查询的数据导出到execl.查询的时候是分页的。假设查询出的总条数是十几万,一页5000条。这样去翻页查询。导出一页也没问题,但现在要导出这十几万条的数据,查询...
客户需要把查询的数据导出到execl.查询的时候是分页的。 假设查询出的总条数是十几万,一页5000条。 这样去翻页查询。导出一页也没问题,但现在要导出这十几万条的数据,查询的话就会响应就会超时。我们设定的1分钟web services 没有完成就会抛异常。现在一个请求去web services 查询出这十几万数据的时候就会很长了。所以更不谈 再导出excel了。请问各位大侠有什么想法?
展开
若以下回答无法解决问题,邀请你更新回答
展开全部
异步方式
服务端:
客户端提交导出请求命令, 服务器后台接收到请求命令后,返回已受理状态。并且当前请求命令的状态为正在处理,然后后台服务开始异步处理导出数据操作,导出操作完成后,请求命令状态为已完成。
用户端:
用户端提交请求后,可以定时去请求当前任务状态,如果是已完成状态,则下载下来即可(服务器生成完成后,可以对文件先进行压缩,用户下载后解压)
服务端:
客户端提交导出请求命令, 服务器后台接收到请求命令后,返回已受理状态。并且当前请求命令的状态为正在处理,然后后台服务开始异步处理导出数据操作,导出操作完成后,请求命令状态为已完成。
用户端:
用户端提交请求后,可以定时去请求当前任务状态,如果是已完成状态,则下载下来即可(服务器生成完成后,可以对文件先进行压缩,用户下载后解压)
追问
嗯, 但是我客户端就是一个按钮啊?怎么实现异步呢?求帮忙?
追答
按钮点击后,发送命令,如果返回已经受理,则设置Enable=false,或者启动一个等待层什么的防止重复操作,然后同时启动一个计时器或者线程不断请求任务状态,如果是已经完成,则把文件下载下来,然后按钮设置为可用状态,同时提示导出成功
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询