#phpexcel #vlookup
#phpexcel #ВПР
Вопрос:
У меня есть мой лист Excel, и мне нужно распечатать одну ячейку, содержащую VLOOKUP, на экране в таблице HTML. У меня есть следующий код:
$test = $objPHPExcel->getSheetByName('test')->toArray(null,true,false,true);
$cell = $test[1][B];
echo $cell;
Результат всегда: #N / A
Я использую расширения Excel 2013, xlsx и xlsm. Если я попробую любую другую формулу, все будет работать нормально. Только VLOOKUP выдает ошибку для меня. Что я могу сделать?
Комментарии:
1. Существует известная ошибка с кодом VLOOKUP в PHPExcel, которую я в настоящее время пытаюсь идентифицировать и исправить
2. Я пытаюсь заменить VLOOKUP на СООТВЕТСТВИЕ ИНДЕКСУ, и в небольшом списке все работает нормально, но в длинном списке, когда у меня 3000 строк, вычисление возвращает тайм-аут. Я увеличиваю время ожидания до 120, 1000 секунд и долго размышляю, и ничего не происходит.
3. Да, это сложное вычисление, которое займет больше времени для выполнения в большем диапазоне ячеек
Ответ №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 содержится целое число, функция VLOOKUP работает просто отлично и возвращает значение ячейки столбца B. Но когда в ячейке столбца B есть строка, я также просто получаю #N / A