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

问题描述 投票:0回答:1

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

php excel phpspreadsheet
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.