无论如何,有没有使用PhpSpreadsheet来解析大型xlsx文件而不增加内存限制?

时间:2019-07-25 17:03:21

标签: php phpspreadsheet

我是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文件可能会越来越大,但内存限制可能不会很大。

0 个答案:

没有答案