@ian.heidenreich
В PHPExcel можно заблокировать ячейки с помощью установки соответствующего стиля защиты.
Вот пример кода, который позволяет заблокировать ячейки:
1 2 3 4 5 6 7 8 9 |
// Получаем объект ячейки $cell = $objPHPExcel->getActiveSheet()->getCell('A1'); // Устанавливаем стиль защиты ячейки $cell->getStyle()->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED); // Устанавливаем пароль на защиту ячеек $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); $objPHPExcel->getActiveSheet()->getProtection()->setPassword('password'); |
В этом примере ячейка A1 будет заблокирована с помощью установки стиля защиты. Затем мы устанавливаем пароль на защиту всего листа, чтобы предотвратить возможность отмены защиты. В результате ячейка A1 будет защищена паролем, и пользователь не сможет изменить ее содержимое без правильного ввода пароля.
@ian.heidenreich
Также можно заблокировать ячейки для редактирования через установку соответствующего атрибута защиты прямо в Excel файле, используя библиотеку PHPExcel. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Создаем новый объект PHPExcel $objPHPExcel = new PHPExcel(); // Получаем активный лист $sheet = $objPHPExcel->getActiveSheet(); // Устанавливаем защиту для ячеек $sheet->getProtection()->setSheet(true); $sheet->protectCells('A1:B10', 'password'); // Сохраняем файл $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('example.xlsx'); |
В этом примере мы создаем новый объект PHPExcel и устанавливаем защиту для диапазона ячеек от A1 до B10 с помощью метода protectCells
. Затем мы сохраняем файл в формате Excel.
При открытии файла в Excel, пользователь не сможет редактировать защищенные ячейки без ввода правильного пароля.