Я пытаюсь, чтобы phpexcel установил диапазон для $ objValidation, основанный на переменной, чтобы не иметь нулевых значений в моем раскрывающемся списке. Это был мой код
$objValidation->setFormula1('Index!$A$5:$A'.'count(Index!$A$5:$A$200');
, которые привели к дополнительным пустой/нулевых значений в моем Dropbox, что делает его больше, чем нужно. что я хотел бы сделать что-то вроде этого
$sql_temp = "SELECT `tempID`,`serialNUM` FROM `temp_sensor_specs` WHERE `statusTYPE`='SPARE'";
$result_temp = mysqli_query($link, $sql_temp);
$row_temp = mysqli_fetch_all($result_temp,MYSQLI_NUM);
$objPHPExcel->getActiveSheet()->fromArray($row_temp,null,'A5');
$count_temp = count($row_temp) + 4;
$objValidation = $objPHPExcel->getActiveSheet()->getCell('B4')->getDataValidation();
$objValidation->setType(PHPExcel_Cell_DataValidation::TYPE_LIST);
$objValidation->setErrorStyle(PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
$objValidation->setAllowBlank(true);
$objValidation->setShowDropDown(true);
$objValidation->setErrorTitle('Input error');
$objValidation->setError('Value is not in list');
$objValidation->setFormula1('Index!$A$5:$A$count_temp');
Так что не работает Я также пробовал в нескольких вариантах, как такой
$objValidation->setFormula1('Index!$A$5:$A'.'$count_temp');
$objValidation->setFormula1('Index!$A$5:$A'.count($row_temp) + 4);
$objValidation->setFormula1('Index!$A$5:$A'$count_temp);
Я действительно чувствую, что неправильно использовал синтаксис, но не могу понять, как это сделать. Я сделал аналогичную настройку диапазона в циклах for($i=4; $i<=15; $i++){ $objValidation = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getDataValidation();
, но также не думаю, что это должно быть зациклено, это должно быть простое количество и установить это значение как возврат счетчика +4 (по мере того, как мое выпадающее меню начинается со строки строки 5)
заранее заблаговременно