2015-10-21 61 views
2

例如:如果我想導出這兩個值:「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(/*????*/); 
+0

我不知道你的值是如何解析的。但你可以嘗試使用反斜槓'\' – Peter

+0

1.7.9是相當過時的,當前版本是1.8.1 –

+0

@MarkBaker謝謝,但新版本無法解決問題:( – bahamut100

回答

0

一個解決方案是爲具有一系列包含可能的值的單元格,並設置公式該範圍:

// 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 full width comma

+0

完美!謝謝! – bahamut100

-1

一個快速谷歌,我發現這一點。

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

所以看起來你必須把在字符串被包裹在一個字符串即逗號分隔列表中的Excel字符串字面包裹在一個PHP字符串常量。

或者這也將可能工作

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

Excel字符串文字,這是包裝成一個PHP字符串文字 –

+0

@MarkBaker好吧,我會去那個 – RiggsFolly

+0

不,它不起作用。我得到3個值:12 - 9 - 5,我只想要2個值:12 - 9,5 – bahamut100

相關問題