求.net导出百万数据到excel 中思路解决方法
求.net导出百万数据到excel 中思路
各位大侠,小弟咨询下,导出excel思路。
1.高性能,支持100万数据导出到Excel
2.希望30秒内
3.是做的Web系统,客户要求点按钮导出所有查询数据,数据量大概100万左右
一般都是传递个数据集DataTable或DataSet 然后导出。希望大家能聊聊,有什么办法,能满足要求,提高性能。谢谢大家了。
------解决方案--------------------
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES;DATABASE='+@FileSavePath+''',['+@SheetNameNow+'$])'
试试这个,把这个写成存储过程,可以导出到多个sheet中,效率我试过300万10秒钟以内,不过有个缺点是当一个人导出数据的时候,服务器cpu会使用很高,所以要限制一下当一个人导出的时候,另一个人不能导出,网上查找下相关资料
这个是导出到一个sheet中的
http://www.cnblogs.com/slyzly/articles/2657424.html
------解决方案--------------------
分页,NPOI ,多线程
------解决方案--------------------
不建议一次加载数百万的数据,容错性,效率都得不到保证,建议还是以分页的方式去执行流程:
取一页,生成一页数据->(重复这个过程)
各位大侠,小弟咨询下,导出excel思路。
1.高性能,支持100万数据导出到Excel
2.希望30秒内
3.是做的Web系统,客户要求点按钮导出所有查询数据,数据量大概100万左右
一般都是传递个数据集DataTable或DataSet 然后导出。希望大家能聊聊,有什么办法,能满足要求,提高性能。谢谢大家了。
.net导出百万数据
.NET
Web
Excel
------解决方案--------------------
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES;DATABASE='+@FileSavePath+''',['+@SheetNameNow+'$])'
试试这个,把这个写成存储过程,可以导出到多个sheet中,效率我试过300万10秒钟以内,不过有个缺点是当一个人导出数据的时候,服务器cpu会使用很高,所以要限制一下当一个人导出的时候,另一个人不能导出,网上查找下相关资料
这个是导出到一个sheet中的
http://www.cnblogs.com/slyzly/articles/2657424.html
------解决方案--------------------
分页,NPOI ,多线程
------解决方案--------------------
不建议一次加载数百万的数据,容错性,效率都得不到保证,建议还是以分页的方式去执行流程:
取一页,生成一页数据->(重复这个过程)