日期:2014-05-18  浏览次数:20455 次

10W+数据的Excel下载
需求:

1.数据量大,超过10W,所以excel 2003不符合要求;

2.服务器配置不安装office,安装少量的组件能接受;

3.数据文件不能太大,10W * 16 的数据不要超过10M;

4.下载速度,从数据源DataSet copy至Excel的时间,10W数据不要超过30s

5.能操作Excel最好,比如合并单元格,设置列的单元格格式为数字,还是文本


简单来说就是希望用最少的时间下载最多的数据,服务器还不能安装office :(

200分希望能找到好的解决办法。

ps:
1.MyXls组件已经pass掉
2.保存为csv文件已经pass掉
3.目前的NPOI只支持office 2003,pass掉

------解决方案--------------------
10W * 16 的数据不要超过10M;
10M = 1000万
10W * 16 = 160万
每条数据占用6字节。很难做到。


应该分页、分文件。
------解决方案--------------------
我觉得LZ可以试试用SSIS做个包然后.net里面去调 不知道你们的server上装的是什么DB Server2005自带的企业商务智能套件应该有吧
------解决方案--------------------
如果从数据源DataSet copy至Excel的时间,10W数据要控制到30s以内有点够呛吧
------解决方案--------------------
用datareader直接读数据库,以2进制流方式直接输出到客户端,提供下载,当datareader读一批数据如1w条时候,提示用户保存文件2,然后继续读,直到完成
------解决方案--------------------
http://epplus.codeplex.com/
------解决方案--------------------
直接用数据库导出Excel看看用时和大小
------解决方案--------------------
使用silverlight的oob模式,可以与客户端excel交互。例如
http://kevinfan.blog.51cto.com/1037293/357686
你的程序可以在客户端动态创建一个Excel工作表,然后一边异步从服务器上下载数据(例如100行数据一次下载),一边同时把数据填入Excel工作表。用户就可以眼睛看着数据填充的过程。等填充完,你的程序就可以调用excel工作簿对象来保存数据到本地(直接访问本地磁盘目录)。
------解决方案--------------------
当然最重要地是,客户端不需要预先安装.net framework,应用程序部署在web服务器上就可以自动给上万、几十万客户端安装和更新程序版本。
------解决方案--------------------
可以试试 aspose.cells 服务器不用装Office 
收费产品
有破解
商业够呛