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

标签 php excel phpexcel

我尝试使用 PHPExcel (v1.7.9) 构建一个下拉列表,但是带有逗号的值无法正确导出

例如:如果我想导出这两个值:“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(/*????*/);

最佳答案

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

// 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');

另一种选择是使用 Unicode full width comma使用 U-FF0C 在 9 到 5 之间

关于php - 如何在下拉列表值中添加逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33262128/

相关文章:

vba - 如何将焦点集中到消息框?

php - 使用 PhpSpreadsheet 获取列范围

php - 出现重复列的信息 phpexcel、mySql

php - 如何使用mysql从php中的表中返回多行

php - codeigniter 不同的 mysql 查询

c# - 读取excel空/空白值

symfony - 如何在 Symfony 2 中正确使用 PHPExcel

php - 如何使 num_rows 适用于此选择查询?

php - AS2 多字符串替换

java - Apache POI XSSFWorkbook setSheetOrder 不排序