Я пытаюсь использовать PHPExcel для создания VLOOKUP и из другого листа, но просто не получаю формулы, появляющейся в ячейке. Использование другой формулы, такой как SUM (), работает нормально.
Итак, я программно создал кучу листов. Вот фиктивный лист, который я тестирую:
$newsheet = $objPHPExcel->createSheet();
$lytabname = ($year-1).' wk '.$thisweeknum.' Input data';
$newsheet->setTitle($lytabname);
$objPHPExcel->setActiveSheetIndexByName($lytabname);
$objPHPExcel->getActiveSheet()->setCellValue(A6,'00009');
$objPHPExcel->getActiveSheet()->setCellValue(E6,'100');
Если я вернусь к первому листу:
$objPHPExcel->setActiveSheetIndex(0);
Тогда это работает:
$objPHPExcel->getActiveSheet()->setCellValue('D6', '=SUM(\''.$lytabname.'\'!A6:A7)');
Но это не так, ячейка D6 на первом листе пуста
$objPHPExcel->getActiveSheet()->setCellValue('D6', '=VLOOKUP(A6,\''.$lytabname.'\'!A6:A7,5,FALSE)');
Мне нужна формула в ячейке, потому что я хочу вставить данные в фиктивный лист прямо сейчас и заставить VLOOKUP выполнять свою работу в полученном XLS. Я использую PHPExcel 1.8.0 и Excel5, т.е.
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->setTempDir($server_path.'tmp');
$objWriter->save('php://output');
Что я здесь не так делаю?
Задача ещё не решена.
Других решений пока нет …