如何在下拉列表中添加逗号?

我尝试使用PHPExcel(v1.7.9)构build下拉列表,但使用逗号的值不能正确导出

例如:如果我想导出这两个值:“12”和“5,9”,我想要的下拉列表是:

12 5,9 

但是我得到这个:

 12 5 9 

而我发现在这个问题上网上没有答案。

你有想法吗?

 $objValidation = $excel->getActiveSheet()->getCell($nextLetter . $beginLine)->getDataValidation(); $objValidation->setType(PHPExcel_Cell_DataValidation::TYPE_LIST); $objValidation->setErrorStyle(PHPExcel_Cell_DataValidation::STYLE_INFORMATION); $objValidation->setAllowBlank(false); $objValidation->setShowInputMessage(true); $objValidation->setShowErrorMessage(true); $objValidation->setShowDropDown(true); $objValidation->setErrorTitle('Erreur'); $objValidation->setError('Cette valeur n\'est pas dans la liste'); $objValidation->setPromptTitle('Sélectionner la valeur :'); $objValidation->setPrompt('Merci de choisir une valeur dans la liste :'); $objValidation->setFormula1(/*????*/); 

一种解决scheme是将一系列包含可能值的单元格,并将公式设置为该范围:

 // Set cells containing our possible list values $objValidation = $objPHPExcel->getActiveSheet() ->setCellValueExplicit('A1', "12"); $objValidation = $objPHPExcel->getActiveSheet() ->setCellValueExplicit('A2', "9,5"); // Set the data validation list $objValidation = $objPHPExcel->getActiveSheet() ->getCell("B1")->getDataValidation(); $objValidation->setType(PHPExcel_Cell_DataValidation::TYPE_LIST); $objValidation->setErrorStyle(PHPExcel_Cell_DataValidation::STYLE_INFORMATION); $objValidation->setAllowBlank(false); $objValidation->setShowInputMessage(true); $objValidation->setShowErrorMessage(true); $objValidation->setShowDropDown(true); $objValidation->setErrorTitle('Erreur'); $objValidation->setError('Cette valeur n\'est pas dans la liste'); $objValidation->setPromptTitle('Sélectionner la valeur :'); $objValidation->setPrompt('Merci de choisir une valeur dans la liste :'); // Set the formula to the range of cells containing the list values $objValidation->setFormula1('=A1:A2'); 

另一种方法是使用U-FF0C在9和5之间使用Unicode全angular逗号

一个快速谷歌,我发现这一点。

 $objValidation->setFormula1('"12,9,5"'); 

所以看起来你必须把逗号分隔列表放在一个string文字中,这个文字是用一个string文字包装的,也就是一个用PHPstring文字包装的Excelstring。

或者这也可能工作

 $list = '"12,9,5"'; $objValidation->setFormula1($list);