Как создать защищенный паролем лист excel с помощью PHPExcel, я знаю, как защитить листы Excel, используя
$G=$objPHPExcel->setActiveSheetIndex(0); $G->getProtection()->setSheet(true);
Но я не получаю никакой ссылки, как установить пароль для редактирования только защиты, означает, что пользователь может открыть файл без пароля, но не может удалить защиту с листа, которую можно легко сделать любым из меню «Данные». Предложения приветствуются.
Для Excel2007 Только для Writer:
Установите защиту рабочей книги:
$objPHPExcel->getSecurity()->setLockWindows(true); $objPHPExcel->getSecurity()->setLockStructure(true); $objPHPExcel->getSecurity()->setWorkbookPassword('secret');
Настройка безопасности рабочего листа:
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); $objPHPExcel->getActiveSheet()->getProtection()->setSort(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); $objPHPExcel->getActiveSheet()->getProtection()->setPassword('password');
В то время PHPExcel не поддерживает защиту листов паролем.
Попробуйте эти параметры, которые не упоминаются в документации.
$objPHPExcel->getActiveSheet()->getProtection()->setSelectLockedCells(true); $objPHPExcel->getActiveSheet()->getProtection()->setSelectUnlockedCells(true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertColumns(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertHyperlinks(true); $objPHPExcel->getActiveSheet()->getProtection()->setDeleteColumns(true); $objPHPExcel->getActiveSheet()->getProtection()->setDeleteRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setSort(true); $objPHPExcel->getActiveSheet()->getProtection()->setAutofilter(true); $objPHPExcel->getActiveSheet()->getProtection()->setObjects(true); $objPHPExcel->getActiveSheet()->getProtection()->setScenarios(true); $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); $objPHPExcel->getActiveSheet()->getProtection()->setPassword('password');