PHPExcel:写入期间无法使用缓存

标签 php symfony phpexcel

我在使用 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:写入期间无法使用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38249936/

相关文章:

php - Symfony 2 验证表单的问题

php - Laravel,页面刷新后显示数据库记录更新

postgresql - Docker - PostgreSQL 无法连接到服务器 : Connection refused 127. 0.0.1:5432

php - curl 错误 60 : ssl certification issue when attempting to use symfony

php - 使用 phpexcel 在所有打印页面中设置页脚

php - 如何将 phpexcel 集成到 silex 框架中?

PHPexcel获取最高工作表索引范围

php - Laravel 与数据透视表关系中的错误

php - Foreach 改变行

php - 使用 Javascript 解析 JSON。来自 Laravel 的 JSON