0

大家下午好,

我正在处理 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

这会响应以下错误消息: ERROR LOADING FILE: "Array ( [dirname] => upload [basename] => d10f8...188 [filename] => d10f8....188 ) ": 单元坐标必须是细胞范围。

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

我在日志中没有发现任何内容,并且无法理解“单元格坐标必须是一系列单元格”的错误消息。我已隔离代码并确保在此尝试/捕获期间生成此错误消息并且不是来自其他地方。

任何帮助将不胜感激,

保罗

4

1 回答 1

1

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

于 2016-03-01T13:03:19.340 回答