PpSpreadsheet的磁盘实现上的PSR-16“缓存”

时间:2018-07-06 04:38:26

标签: php phpspreadsheet

PhpSpreadhsheet需要大量内存,而我无法可靠地使用它在我的2GB服务器上生成大文件。我试图找到一种在磁盘上而不是RAM上进行缓存的方法,文档说这是可能的(https://phpspreadsheet.readthedocs.io/en/develop/topics/memory_saving/),但是没有给出实现。

我发现了两个在磁盘上实现PSR-16的github项目-https://github.com/duncan3dc/cachehttps://github.com/adinan-cenci/cache 但是它们对我没有用(第二个我什至无法安装)

是否有任何将临时文件保存在磁盘上的实现或变通办法,或者是在没有大量内存的情况下生成大型Excel的方法?

1 个答案:

答案 0 :(得分:0)

使用php spout https://opensource.box.com/spout/,它支持xlsx和ods,可惜没有xls,但是它可以处理大文件,而我使用的任何文件都不会占用超过3MB的RAM,这非常好,很难读取文件或编写这些格式,如果您需要格式化单元格或特定于颜色的单元格,而不是整行,那么它缺少一点形式的着色和格式化单元格样式最好是php excel或它的新版本PhpSpreadsheet,此新版本现在也支持.xls,但保持同样的内存问题