PHPExcel加载错误 - 单元格坐标必须是一系列单元格

时间:2016-02-29 21:14:01

标签: try-catch phpexcel phpexcelreader

Good Afternoon All,

我正在处理PHPExcel中的一个问题。使用以下代码:

try {
                    $inputFileType = PHPExcel_IOFactory::identify($fileLocation);
                    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
                    $objReader->setReadDataOnly(true);
                    $objPHPExcel = $objReader->load($fileLocation);
            } catch(Exception $e) {
                    die('ERROR LOADING FILE: "'.print_r(pathinfo($fileLocation),true).'": '.$e->getMessage());
            } # end try catch

此回复时出现以下错误消息: 错误加载文件:"数组([dirname] =>上传[basename] => d10f8 ... 188 [文件名] => d10f8 .... 188)":单元格坐标必须为一系列细胞。

这没有任何意义,因为我还没有读取文件,只加载它。此代码已经到位并且几个月没有问题(可能100多次使用),只有一个文件导致此错误。该文件是Office2007 XLSX(就像所有其他文件一样),我已将文件转换为多种其他格式(xls,xlt,xlsm),但也不会加载任何副本。我发现文件中没有任何内容可以解释这种行为。

我的日志中没有找到任何内容,并且无法理解错误消息“细胞坐标必须是一系列细胞”。我已经隔离了代码,并确保在此try / catch期间生成此错误消息,而不是来自其他地方。

非常感谢任何帮助,

1 个答案:

答案 0 :(得分:0)

此错误是由在其中一张纸张中定义的打印区域引起的。我使用这些说明(https://support.office.com/en-us/article/Change-or-clear-a-print-area-on-a-worksheet-deed3c1f-d2ca-4b78-b28d-9c17f0b5de34#bmclearprintarea)删除了所有打印区域,然后重新上传并且一切正常。感谢MarkBaker的帮助。 保罗