Как заблокировать конкретную ячейку с помощью phpspreadsheet - PullRequest
0 голосов
/ 13 марта 2019

Изначально все ячейки на листе заблокированы.Затем я разблокирую все ячейки и пытаюсь заблокировать только некоторые ячейки.

$spreadsheet->getActiveSheet()->getStyle('A1')->getLocked()->applyFromArray(
      [
          'locked' => TRUE,
          'hidden' => FALSE
     ]);

Но, в конечном итоге с этой ошибкой.

Uncaught Ошибка: вызов неопределенного метода PhpOffice \ PhpSpreadsheet \ Style \ Style :: getLocked ()

Заранее спасибо.

1 Ответ

0 голосов
/ 13 марта 2019

Этот код может заблокировать нужную ячейку.

$sheet->getStyle('A1')->getProtection()->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_INHERIT);

или

 $sheet->getStyle('A1')->getProtection()->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_PROTECTED);

Тем не менее, я хотел бы знать, почему applyFromArray не работает для блокировки ячейки.Любой, кто знает ответ, может опубликовать свой ответ.Спасибо.

...