我是PhpSpreadsheet的新手,我想使用此库读取一些较大的xlsx文件(可能为50M或更大)。
似乎我必须设置php进程的“ memory_limit”参数以加载大xlsx文件,如下所示:
$file_path = '/**/super_large.xlsx';
$excel = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_path);
$sheets = $excel->getAllSheets();
$cell = $sheets[1]->getCellByColumnAndRow(1, 1, false);
var_dump('ourput:' . $cell->getValue());
如果我未设置ini_set('memory_limit', '1024M');
,则php进程将因Fatal error: Allowed memory size of x bytes exhausted
而崩溃。
PhpSpreadsheet是否支持逐块读取文件,而不是将整个文件加载到内存中? xlsx文件可能会越来越大,但内存限制可能不会很大。