最近我将我的PhpSpreadsheet版本更新为1.2.1,然后突然停止读取我的xls文件。我尝试使用三种方法来获取文件中的数据,但没有成功。
$inputFileType = IOFactory::identify($filePath);
$reader = IOFactory::createReader($inputFileType);
$spreadsheet = $reader->load($inputFileName);
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
这使我返回"无法识别此文件的读者"。使用
的旧版本$reader= IOFactory::load($filePath);
$conteudo = $reader->getActiveSheet()->toArray(null, true, true, true);
返回相同的错误。最后,试图强制它作为XLS也不行。
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load($filePath);
$conteudo = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
这个至少给出了一个不同的错误,它说"你请求的工作表索引:-1超出范围。实际的纸张数为0。"。
最奇怪的部分是我的.csv部分正常工作。如果我得到xls文件,将其转换为csv并尝试使用csv代码,它的工作原理。 另请注意,我正在上传这些文件(xls和csv)以进行数据读取,并且在更新之前工作正常。
我尝试将更新恢复为1.1.0,但问题仍然存在。有什么想法吗?
答案 0 :(得分:0)
因此,在经历了很多不必要的压力后,我决定采用最适合这些情况的程序。
我完全删除了PHPSpreadsheet,并从零开始安装了1.1.0 PHPSpreadsheet,它再次起作用。 Haven尝试升级到1.2.1,将等待未来的版本。