PHPExcel 로 셀 보호 기능 추가하기

2024. 3. 20. 18:31개발/웹 관련

반응형

PHPExcel로 엑셀 파일 생성 후 다운로드할 때 특정 셀 보호 기능 추가하는 방법입니다.

엑셀에서 검토 > 시트 보호 기능을 PHPExcel로 구현할 수 있답니다.


$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // 시트 전체 보호
$objPHPExcel->getActiveSheet()->protectCells('A1:J'.$last, '비밀번호');
$objPHPExcel->getActiveSheet()->getStyle('K1:L'.$last)->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);

첫 번째 줄은 시트 전체를 보호하는 설정인데 true로 안 해주면 셀 보호 자체가 안되니 먼저 선언해 줍니다.

두 번째 줄은 특정 셀 구간을 보호하고, 비밀번호를 설정할 수 있습니다.

세 번째 줄은 다운로드한 사용자가 입력할 수 있는 셀을 지정해 주면 됩니다. 이 부분 설정을 안 하면 전체 시트 보호를 풀어야 파일 수정이 가능합니다.

 

테스트로 만들어 봤습니다.

 

이름, 연락처, 이메일 부분을 수정하려고 하면 위 이미지처럼 암호 입력창이 뜨게 됩니다.

 

세 번째 줄에서 설정한 셀들은 이렇게 수정 또는 입력이 됩니다.

PHPExcel 이 엑셀파일 만들고 스타일 꾸미는 기능 외에 이런 기능도 있답니다.

 

감사합니다.

반응형