【问题标题】:PHPExcel Load error - Cell coordinate must be a range of cellsPHPExcel加载错误 - 单元格坐标必须是一系列单元格
【发布时间】:2016-02-29 21:14:01
【问题描述】:

大家下午好,

我正在处理 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] => upload [basename] => d10f8...188 [filename] => d10f8....188)”:单元格坐标必须是单元格范围。

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

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

任何帮助将不胜感激,

保罗

【问题讨论】:

  • 您确实意识到“加载文件”需要阅读并解析文件.....阅读不仅仅是您当你从 PHPExcel 对象访问数据时,所有的“阅读”都已经完成,然后你才能做到这一点
  • 至于错误本身,如果不知道错误发生在代码库的哪个位置,我帮不了你.....$e应该给你一个getTrace()可以提供帮助的方法确定问题的潜在原因
  • @Mark-Baker,这一切都发生在加载文件的脚本的前 10 行。我在 mycatch 中添加了一些调试并得到了这些结果:code EXCEPTION 单元格坐标必须是一个单元格范围。来源:/var/www/stage/custom/k/phpexcel/PHPExcel/Worksheet/PageSetup.php (649) /var/www/stage/custom/k/phpexcel/PHPExcel/Reader/Excel2007.php (1702) /var /www/stage/custom/modules/Excel_ExcelReader/metadata/listviewdefs.php (69) 所有这些都指向有关文档打印区域的功能。这对我来说没有多大意义。有任何想法吗?感谢您的帮助!
  • @MarkBaker:感谢您将我指向 getTrace!这向我表明错误出在 PHPExcel 处理打印区域中。删除了所有打印区域,文件现在可以使用了!

标签: try-catch phpexcel phpexcelreader


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多