PHPExcel:写入期间无法使用缓存
PHPExcel: Unable to use cache during write
我在使用 PhpExcel 编写 xls (xlsx) 文件时遇到一些内存问题。我尝试过使用缓存,但是在写入新文档时它似乎不起作用。
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '8MB'
);
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
库更新到当前版本 (v1.8.1) 后,问题有所改善,但我仍然只能准备和导出一个包含 8 列和 15000 - 20000 行的文件(20000 行 cache_in_memory_gzip
) 而不会增加内存限制。不幸的是,就我而言,这不是充分的解决方案。
缓存方法也许可以让我提前准备更多的条目,但在实际的写入方法中似乎没有什么关系。
$file = new PHPExcel();
// Prepare data ...
$writer = PHPExcel_IOFactory::createWriter($file, 'Excel2007');
$writer->save($pathname); // More memory required
最后我们切换到box/spout。
我不能说我已经测试了它的全部功能,但我在 800 000 行之后感到无聊。
我在使用 PhpExcel 编写 xls (xlsx) 文件时遇到一些内存问题。我尝试过使用缓存,但是在写入新文档时它似乎不起作用。
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '8MB'
);
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
库更新到当前版本 (v1.8.1) 后,问题有所改善,但我仍然只能准备和导出一个包含 8 列和 15000 - 20000 行的文件(20000 行 cache_in_memory_gzip
) 而不会增加内存限制。不幸的是,就我而言,这不是充分的解决方案。
缓存方法也许可以让我提前准备更多的条目,但在实际的写入方法中似乎没有什么关系。
$file = new PHPExcel();
// Prepare data ...
$writer = PHPExcel_IOFactory::createWriter($file, 'Excel2007');
$writer->save($pathname); // More memory required
最后我们切换到box/spout。 我不能说我已经测试了它的全部功能,但我在 800 000 行之后感到无聊。