0

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

4

1 回答 1

0

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

我完全删除了 PHPSpreadsheet,并从零安装了 1.1.0 PHPSpreadsheet,它再次工作。没试过升级到1.2.1,等下个版本吧。

于 2018-04-24T11:22:56.717 回答