我们有一个动态的Web项目,并根据特定请求生成大型报告(格式为.xls)。报告的数据从数据库中获取,并使用poi写入.xls文件。但是,如果记录数超过100000行,大约24列,则服务器崩溃。
想知道如何使用poi生成大型xls文件。
服务器:WebSphere Application Server v 7.0.0.29, JVM - 512MB - 2048 MB, POI - 实施 - 版本:3.9
如果我方需要任何其他详细信息,请告诉我。
答案 0 :(得分:4)
这种方法存在几个问题:
.xls格式的行数(65536行)受到限制。我建议转移到.xlsx,它最多支持1000000.
如果使用默认(Worksheet,Row,...)模型,使用如此大的行集,服务器内存消耗会变得非常大。没有进一步的信息,这是一个黑暗的镜头,但它可能是一个问题。
使用流媒体模型生成如此庞大的报告。看看http://poi.apache.org/spreadsheet/how-to.html#sxssf,这应该可以帮到你。