似乎在最新版本的PrimeFaces中,为DataExporter 添加了新类型(请参阅当前primefaces 6.2文档中的ExporterType)
对于新的Apache POI XLSX和XLSXSTREAM类型,我似乎在网上找不到任何东西。有人可以解释两者之间的区别吗?一个比另一个更有效吗?导出数据的大小是否有限制?
我可以解释。它们均产生与使用Apache POI的Excel文件的“打开文档”格式完全相同的XLSX文件。我知道大小没有限制。
最大的区别在于它们是如何创建的。
XLSX- 读取内存中的整个文档
XLSXSTREAM- 处理过程中的进程和垃圾收集,因此其内存效率高。
从POI文档中:
SXSSF(软件包:org.apache.poi.xssf.streaming)是XSSF的API兼容流扩展,可用于必须生成非常大的电子表格且堆空间有限的情况。SXSSF通过限制对滑动窗口内的行的访问来实现其低内存占用。
基本上,如果您不关心服务器资源,则如果有许多用户下载Excel文件,则使用XLSX,并且JVM内存对于使用XLSXSTREAM很重要