Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Protect the Excel file using PHPExcel

Tags:

php

phpexcel

How can I create password protected excel sheet using PHPExcel, I know how to protect excel sheet using

$G=$objPHPExcel->setActiveSheetIndex(0);
$G->getProtection()->setSheet(true);

But I am not getting any link how to set the password for editing protection only, means user can open the file without password but cannot remove the protection from sheet which can be easily done by any one from Data menu. Suggestions are welcomed.

like image 664
user3100533 Avatar asked Feb 07 '14 23:02

user3100533


2 Answers

At the time, PHPExcel does not support protecting sheets with a password.

like image 146
Ruben Avatar answered Sep 28 '22 06:09

Ruben


For Excel2007 Writer only:

Set workbook security:

$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);

$objPHPExcel->getSecurity()->setWorkbookPassword('secret');

Set worksheet security:

$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');
like image 27
Mark Baker Avatar answered Sep 28 '22 06:09

Mark Baker