基本上,由于内存问题,im正在尝试启用单元缓存(一直在耗尽)它有一个相当大的speadsheet。据我所知,在线缓存是一个很好的方法
从我在网上找到的例子来看
Cell caching and memory leak
stackoverflow - fix memory error

$oExcel = new PHPExcel();
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '512MB');

PHPExcel_Settings::setCacheStorageMethod($cacheMethod,$cacheSettings);

上面的问题是我没有用设置设置excel对象?
$oExcel->setCacheStorageMethod($cacheMethod,$cacheSettings); // this returns method not found error

我想我只是草签错了?

最佳答案

开发人员文档的第4.2.1节描述了这一点:标题为“单元缓存”的部分;在实例化或加载phpexcel对象之前,需要设置单元缓存。
setCacheStorageMethod()不是phpexcel类的方法,因为您试图在这一行中使用:

$oExcel->setCacheStorageMethod($cacheMethod,$cacheSettings);

使用
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '512MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod,$cacheSettings);

$oExcel = new PHPExcel();

新的phpexcel对象将自动使用配置的缓存设置(即phptemp)

09-05 22:30