2017-03-01 1 views
0

私はGithubライブラリ(https://github.com/PHPOffice/PHPExcel/)を使用して、PHPによるファイルの読み書きを効率的に行っています。 問題は、ドロップダウン付きのセルを、ドロップダウンをダブルクリックすると編集可能または書式設定できないように制限されている他の入力に制限されていることです。PHPを使用してExcelのセルに読み取り専用権限を割り当てる方法はありますか?

答えて

2

ユーザーはセルの内容を編集できるようにしたいが、ドロップダウンボックスからアイテムの1つだけを選択するようにしたいので、読み取り専用にしたいとは思わない。次に、入力の検証が必要です。

あなたは、このような入力の検証有効にすることができます。

$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ファイルの再アップロードでは、データの正当性をチェックする必要があります。

関連する問題