最近我将我的 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,但问题仍然存在。有任何想法吗?