phpspreadsheet工作簿读取时未加载整个文件,但按索引显示了一个工作表

时间:2019-07-19 01:30:36

标签: php excel spreadsheet

我正在使用“ 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();这样我得到了一个不错的数组。 我已经按照示例操作,但是没有一个示例显示如何不加载整个文件,而仅加载一张纸 我也尝试设置一个活动工作表,但由于它加载了整个文件而崩溃,因此提供更多内存并不理想... 因此,如何使用索引号仅读取一张纸...

0 个答案:

没有答案