我似乎在网上找不到任何关于新的Apache POI XLSX和XLSXSTREAM类型的信息。有人可以解释一下他们两个之间的区别吗?一个比另一个更有效率吗?导出数据的大小是否有限制?
我可以解释。 它们都生成完全相同的XLSX文件,这些文件是使用Apache POI的Excel文件的开放文档格式。 据我所知,大小没有限制。
最大的区别在于它们的创建方式。
XLSX - 读取内存中的整个文档
XLSXSTREAM - 处理和垃圾回收,因为它处理,使其内存高效。
来自 POI 文档:
SXSSF(包:org.apache.poi.xssf.streaming(是一个API兼容的 XSSF 的流式扩展,用于非常大的电子表格 必须生产,并且堆空间有限。SXSSF实现其低点 通过限制对 滑动窗口。
基本上,如果您不关心服务器资源,请使用XLSX,如果您有许多用户下载Excel文件并且JVM内存对您使用XLSXSTREAM很重要
。