我有一个要求,我需要生成大约数百万条记录的报告,然后将其导出到Excel。我正在使用jasper报告。能够预览报告。但是当我尝试将报告导出到Excel时,会出现堆内存错误。但是我能够在ByteArrayOutputStream对象中获取整个数据集。经过长时间的谷歌搜索得出结论,如果数据是如此巨大,这是很常见的。所以我决定把数据写入excel chunk by chunk。但是如何实现呢?如何将数据划分以及如何将数据写入到Excel中,以便最终输出文件是合并的。请建议..提前致谢。
答案 0 :(得分:0)
您是否尝试过使用“poi”代替jasper报告? Poi是Apache的Microsoft Documents库。链接:http://poi.apache.org/
在这个库中有一个名为“SXSSFWorkbook”的类,它使用流技术。阅读javadoc以获取更多信息:http://poi.apache.org/apidocs/index.html