设置PHPExcel读取WPS文件时内存耗尽的问题
用过PHPExcel的都知道这玩意的坑不是一般的少啊,偏偏一般用户对excel有着莫名的偏爱。
这次遇到的问题就是使用这玩意读取WPS生成的excel,或者使用WPS打开过的excel时,老是会报内存耗尽之类的问题,具体问题当时忘记截图了。
好像是因为获取excel的数据内容的宽度和高度时,明明页面中没有值,但是WPS处理过的excel都会被PHPExcel以最大的高度和宽度读取数据,导致内存耗尽。所以读取文件时,需要加上过滤器。
过滤器类
namespace PHPExcelAssist;
class Filter implements \PHPExcel_Reader_IReadFilter{
protected $workSheetName;
protected $endColumn;
protected $endRow;
/**
* 构造函数,指定截止行,截止列
* Filter constructor.
* @param $workerSheetName string|array 表空间,支持多个表空间
* @param $endColumn string 截止列
* @param int $endRow 截止行
*/
public function __construct($workerSheetName,$endColumn,$endRow=0)
{
$this->workSheetName=$workerSheetName;
$this->endColumn=$endColumn;
$this<