2017-02-07 1 views
0

Я пытаюсь, чтобы 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)

заранее заблаговременно

ответ

0

Таким образом, правильный синтаксис закончился `$ objValidation-> setFormula1 ('Index! $ A $ 5: $ A'." $ Count_temp ");

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