PHPExcel 1.8 ВПР № Н / Д

У меня есть лист Excel, и мне нужно распечатать одну ячейку, содержащую ВПР, на экране в таблице HTML. У меня такой код:

$test = $objPHPExcel->getSheetByName('test')->toArray(null,true,false,true);
$cell = $test[1][B];
echo $cell;

Результат всегда: # N / A

Я использую расширения excel 2013, xlsx и xlsm. Если я попробую любую другую формулу, все будет хорошо. Только VLOOKUP выдает ошибку для меня. Что я могу сделать ?


person GioGux    schedule 27.06.2014    source источник
comment
Существует известная ошибка кода ВПР в PHPExcel, которую я сейчас пытаюсь определить и исправить.   -  person Mark Baker    schedule 27.06.2014
comment
Я пытаюсь заменить VLOOKUP на INDEX MATCH, и в небольшом списке все работает нормально, но в длинном списке, когда у меня 3000 строк, таймаут возврата вычисления. Я увеличиваю тайм-аут до 120, 1000 секунд и долго думаю, но ничего не происходит.   -  person GioGux    schedule 28.06.2014
comment
Да, это сложный расчет, который займет больше времени для выполнения в более широком диапазоне ячеек.   -  person Mark Baker    schedule 28.06.2014


Ответы (1)


Я не знаю, поможет ли это отладке, но в моем собственном тестировании, прежде чем я нашел этот поток, я обнаружил, что у меня такая же проблема, но только при возврате строк я могу возвращать целые числа нормально.

Часть кода, с которым я тестировал:

$objPHPExcel->getActiveSheet()->setCellValue('A150', '=VLOOKUP(100,EVENT!A30:B130,2,FALSE)');
$test = $objPHPExcel->getActiveSheet()->getCell('A150')->getCalculatedValue();
echo $test;

В моем листе Excel столбцы A и B отформатированы как «Общие». Столбец A представляет собой список целых чисел в порядке возрастания, а столбец B содержит смесь строк и целых чисел. Я обнаружил, что когда в ячейке B столбца есть целое число, функция ВПР работает нормально и возвращает значение ячейки B столбца. Но когда в ячейке столбца B есть строка, я также просто получаю # N / A

person J_Derek    schedule 02.07.2014