如何导出大数据量的Excel

AskForAnswers 2012-01-11 10:21:54
大家好!

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

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

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

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

目前问题就这么多,请大家指点一二,多谢了。
...全文
489 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SomethingJack 2012-01-11
  • 打赏
  • 举报
回复
分页导出呢?
chokobo 2012-01-11
  • 打赏
  • 举报
回复
使用datareader,读一条数据写一条数据到文件中,可以解决一次性全部加载到内存的问题。
但是Excel本身就不能放下几十万条数据。
jack15850798154 2012-01-11
  • 打赏
  • 举报
回复
同时也可以借鉴一下:http://topic.csdn.net/u/20091126/14/70312853-b98a-4634-bc05-e13b50fa1b90.html
wanmeizhushou 2012-01-11
  • 打赏
  • 举报
回复
jack15850798154 2012-01-11
  • 打赏
  • 举报
回复
参考一下这个:http://topic.csdn.net/t/20060817/00/4955076.html
暗石绿 2012-01-11
  • 打赏
  • 举报
回复
1. excel 文件支持追加记录。
2. 你可以在网上搜索一下 NPOI 组件。
AskForAnswers 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chokobo 的回复:]

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

这种方式我想过了,一次读取一定数量的记录,然后分次写入文件,但是不知道Excel文件支持追加记录吗?或者有哪些类库可以实现这样的效果?

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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