在版本1.2.1之后,PhpSpreadsheet不再读取我的xls文件了吗?

时间:2018-04-18 19:52:11

标签: php excel phpspreadsheet

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

1 个答案:

答案 0 :(得分:0)

因此,在经历了很多不必要的压力后,我决定采用最适合这些情况的程序。

我完全删除了PHPSpreadsheet,并从零开始安装了1.1.0 PHPSpreadsheet,它再次起作用。 Haven尝试升级到1.2.1,将等待未来的版本。