2016-02-29 4 views
0

Good Afternoon All,Ошибка загрузки PHPExcel - координата ячейки должна быть в диапазоне ячеек

Я работаю над проблемой в 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 

Это ответы с сообщением об ошибке в этом: ОШИБКА ЗАГРУЗКИ ФАЙЛА: «Array ([имя_директории] => загрузить [базовое имя] => d10f8 ... 188 [имя файла] => d10f8 .... 188) ": Координата ячейки должна быть рядом ячеек.

Это не имеет смысла, так как я еще не читаю файл, загружая его. Этот код существует и работает без проблем в течение нескольких месяцев (возможно, более 100 приложений), только один файл вызывает эту ошибку. Файл - это X200 X Office (так же как и все остальные), я преобразовал файл в несколько других форматов (xls, xlt, xlsm), но ни одна из копий не загрузится. Я не нашел ничего интересного в файле, который мог бы объяснить это поведение.

Я ничего не нашел в своих журналах, и я не в состоянии понять сообщение об ошибке «Координата ячейки должна быть рядом ячеек». Я выделил код и убедился, что это сообщение об ошибке генерируется во время этой попытки/catch и не происходит откуда-то еще.

Любая помощь будет принята с благодарностью,

Пол

+0

Вы понимаете, что «загрузка файла» влечет за собой ___reading___ и анализ файла ..... чтение - это не просто то, что вы делаете, когда получаете доступ к данным из объекта PHPExcel, все «чтение», уже сделано, прежде чем вы сможете это сделать –

+0

Что касается самой ошибки, я не могу вам помочь, не зная, где в кодовой базе данных возникает ошибка ..... '$ e' должен дать вам [getTrace() ] (http://www.php.net/manual/en/exception.gettrace.php), который может помочь определить потенциальную причину проблемы. –

+0

@ 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) Все это указывает на функцию относительно области печати документа. Это не имеет большого значения для меня. Есть идеи? И спасибо за любую помощь! –

ответ

0

Эта ошибка была вызвана область печати определяется в одном из листов. Я удалил все области печати с помощью этих инструкций (https://support.office.com/en-us/article/Change-or-clear-a-print-area-on-a-worksheet-deed3c1f-d2ca-4b78-b28d-9c17f0b5de34#bmclearprintarea), а затем повторил загрузку и все сработало. Спасибо MarkBaker за помощь. Paul

Смежные вопросы