18

phpexcelでは、セルをロックすることができました

$objPHPExcel->getActiveSheet()->protectCells('A1:D1', 'php');
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);

A1 から D1 までのセルをダブルクリックすると、必要に応じてパスワードを要求されます。
しかし、他のセル(例:A2)をダブルクリックすると、

"The cell or chart that you are trying to change is protected and therefore 
read-only".

ワークシート全体をロックします。特定のセルのみをロックし、他のセルを編集可能にすることは可能ですか?

4

4 に答える 4

22

最後に、私はそれを行う正しい方法を見つけました..

$objPHPExcel = new PHPExcel;
$objSheet = $objPHPExcel->getActiveSheet();

//セル範囲を保護する

$objSheet->protectCells('A1:B1', 'PHP');

// セル範囲の保護を解除します

$objSheet->getStyle('A2:B2')->getProtection()
->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);

// ワークシートシートを保護する

$objSheet->getProtection()->setSheet(true);

これは完璧に機能しています!

于 2013-06-11T17:44:01.840 に答える