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

如何导出大数据量的Excel
大家好!

我现在遇到一个生成Excel文件问题,由于没有这方面的经验,不知道该怎么做,所以请教下大家,谢谢!

我们的系统是基于BS架构的,要做一个财务记录数据导出的功能,大致操作流程是用户点击“导出”按钮,然后服务器端会生成Excel文件供用户下载。现在遇到的一个问题是,我们的数据量非常庞大,比如用户要导出一个月内的数据,记录数量通常在几十万条左右,所以不能把这些数据一次性加载到内存中然后再去生成Excel文件。

我刚刚从Java平台转向.NET平台,对.NET平台有哪些生成Excel的方法还不太了解,想问以下几个问题:

像我这种需求,要生成Excel文件的话,有哪几种可供使用的技术?(比如有哪些现成的库或者框架)
怎么避免一次性将所有数据加载到内存中?
将Excel文件生成保存到服务器硬盘上,然后将客户重定向到这个文件的下载页面,这样做合适吗?有其它更好的方式吗?

目前问题就这么多,请大家指点一二,多谢了。

------解决方案--------------------
使用datareader,读一条数据写一条数据到文件中,可以解决一次性全部加载到内存的问题。
但是Excel本身就不能放下几十万条数据。