我正在使用“ phpoffice / phpspreadsheet”:“ ^ 1.8”来读取excel文件,如果文件只有一张纸就没有问题,或者即使在窗口中使用memcache o flush时文件也不会很大,或ob_clear ...重点是,我需要阅读工作簿上的每张纸,该书有60页,每页大约2K行,加载整个文件并尝试一次读取所有内容,这只会给我带来内存溢出的麻烦。 。
要阅读活动表,我使用:
$reader = IOFactory::createReader($type);
$spreadsheet = $reader->load($file);
$arr = $spreadsheet->getActiveSheet()->toArray(null, false, true, false);
$headings = array_shift($arr);
array_walk(
$arr,
function (&$row) use ($headings) {
$row = array_combine($headings, $row);
}
);
然后第一行是其余信息的键,因此我使用array_shift();这样我得到了一个不错的数组。 我已经按照示例操作,但是没有一个示例显示如何不加载整个文件,而仅加载一张纸 我也尝试设置一个活动工作表,但由于它加载了整个文件而崩溃,因此提供更多内存并不理想... 因此,如何使用索引号仅读取一张纸...