服务器在使用poi生成大型excel文件(超过100000行和24列)时崩溃

时间:2014-03-18 10:59:51

标签: java websphere apache-poi

我们有一个动态的Web项目,并根据特定请求生成大型报告(格式为.xls)。报告的数据从数据库中获取,并使用poi写入.xls文件。但是,如果记录数超过100000行,大约24列,则服务器崩溃。

想知道如何使用poi生成大型xls文件。

服务器:WebSphere Application Server v 7.0.0.29, JVM - 512MB - 2048 MB, POI - 实施 - 版本:3.9

如果我方需要任何其他详细信息,请告诉我。

1 个答案:

答案 0 :(得分:4)

这种方法存在几个问题:

.xls格式的行数(65536行)受到限制。我建议转移到.xlsx,它最多支持1000000.

如果使用默认(Worksheet,Row,...)模型,使用如此大的行集,服务器内存消耗会变得非常大。没有进一步的信息,这是一个黑暗的镜头,但它可能是一个问题。

使用流媒体模型生成如此庞大的报告。看看http://poi.apache.org/spreadsheet/how-to.html#sxssf,这应该可以帮到你。