2016-03-21 2 views
1

Я использую PHPExcel прочитать XLSX книгу, следующий код, я использую до сих пор просто установить активный листиндекс PHPExcel лист из исключения ограничивающей

date_default_timezone_set('Europe/London'); 
set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); 

include 'PHPExcel/IOFactory.php'; 

$reader = PHPExcel_IOFactory::createReader('Excel2007'); 
$reader->setReadDataOnly(true); 
$xlWB = $reader->load('/' . $target_file); 
$xlWB->setActiveSheetIndex(0); //EXCEPTION OCCURS HERE 

, но я получаю исключение:

Фатальная ошибка: Uncaught исключение «PHPExcel_Exception» с сообщением «Вы пытаетесь установить лист активный на выездном индекса ограничений: 0. фактическое число листов равно 0.» in/[мой корень] /Classes/PHPExcel.php:695 Трассировка стека: # 0 /[my-root]/conversion-demo.php(211): PHPExcel-> setActiveSheetIndex (0) # 1 {main} брошен в /[мой корень] /Classes/PHPExcel.php на линии

файл представляет собой .xlsx файл, он существует (путь правильный) и есть 3 листов в файле.

Я делаю что-то принципиально неправильно здесь?

+0

Не можете вы выбрать по имени, а не индекс. Можете ли вы попробовать это? –

+0

Если нет листа с индексом 0, то либо электронная таблица не содержит каких-либо листов, либо была проблема с загрузкой файла ..... независимо от того, только у вас есть доступ к файлу, который сбой, поэтому нам почти невозможно сказать что-то еще. –

+0

@MarkBaker. Проблема с загрузкой файла при открытии на клиентской машине потребовала коррумпированной загрузки. Спасибо, что указатель подумал, что я сошел с ума !!! –

ответ

0

Проверьте разрешения на то, откуда вы получаете файл. У меня просто была проблема с загрузкой файла и изменением разрешений в Windows \ Temp.

+0

Файл находится в подпапках моего корневого каталога на моем сервере и имеет полный доступ для чтения/записи. –

0

Попробуйте загрузить файл вручную.

Имел ту же проблему прямо сейчас. Экземпляр Excel был зачислен в репозиторий git, и git изменил лист как-то. Итак, я загрузил локальную версию на сервер - теперь он работает.

Лучший способ: это может быть решена с .gitattributes файлом, просто написать этот *.xls binary там, переименовать файл и вновь

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