Primefaces DataExporter - XLSX 和 XLSXSTREAM

Primefaces DataExporter - XLSX and XLSXSTREAM

似乎在最新版本的 PrimeFaces 中,为 DataExporter 添加了新类型(请参阅当前 primefaces 6.2 文档中的ExporterType

我似乎在网上找不到任何关于新的 Apache POI XLSX 和 XLSXSTREAM 类型的信息。有人可以解释一下他们两个之间的区别吗?一个比另一个更有效率吗?导出数据的大小有限制吗?

我可以解释。它们都生成完全相同的 XLSX 文件,这些文件是使用 Apache POI 的 Excel 文件的开放文档格式。据我所知,尺寸没有限制。

最大的区别在于它们的创建方式。

XLSX - 读取内存中的整个文档

XLSXSTREAM - 在处理过程中进行处理和垃圾收集,以提高内存效率。

来自 POI 文档:

SXSSF (package: org.apache.poi.xssf.streaming) is an API-compatible streaming extension of XSSF to be used when very large spreadsheets have to be produced, and heap space is limited. SXSSF achieves its low memory footprint by limiting access to the rows that are within a sliding window.

基本上,如果您不关心您的服务器资源,请使用 XLSX 如果您有很多用户下载 Excel 文件并且 JVM 内存对您很重要,请使用 XLSXSTREAM