2017-03-01 62 views

回答

2

我不认为你真的想要只读,因为你想让用户编辑单元格的内容,但是你想确保他们只从下拉框中选择一项。你需要的是输入验证。

您可以启用输入验证这样的:

$objValidation = $objPHPExcel->getActiveSheet()->getCell('B5')->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('Input error'); 
$objValidation->setError('Value is not in list.'); 
$objValidation->setPromptTitle('Pick from list'); 
$objValidation->setPrompt('Please pick a value from the drop-down list.'); 
$objValidation->setFormula1('"Item A,Item B,Item C"'); 
$objPHPExcel->getActiveSheet()->getCell('B5')->setDataValidation($objValidation); 

来源:https://docs.typo3.org/typo3cms/extensions/phpexcel_library/1.7.4/manual.html#_Toc237519927

请注意,输入验证只是一个噱头,以帮助用户输入正确的数据。您不能在稍后时刻假定Excel电子表格中的数据与验证一致。因此,在重新上传Excel文件时,您需要检查数据的有效性。

相关问题