์ต์ ๋ฒ์ , ๋ผ๋ผ๋ฒจ 5.4
๋ฒ๊ทธ์ธ์ง, ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๋์ง, ์๋๋ฉด ์์ง ํ์ง ๋ชปํ ์ผ์ด ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
Excel ๋ฌธ์ํ๋ฅผ ์ํด maatwebsite์์ ์ฐพ์ ๊ธฐ๋ณธ ๋ฐ ๊ณ ๊ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
๋ด๊ฐ ์ฌ์ฉํ ๋ฐฉ๋ฒ์
$sheet->protect() , ๊ณ ๊ธ ๋ฐฉ๋ฒ์
๋๋ค.
์ด ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฒด ์ํธ๋ฅผ ๋ณดํธํ ์ ์์์ง๋ง ์ ๋ฒ์๋ง ๋ณดํธํ๋ฉด ๋ฉ๋๋ค.
์ํฌ ์ํธ ๋ฐฉ๋ฒ์ ๋ณด์์ต๋๋ค.
$sheet->protectCells(A1); ํ์ง๋ง ์ด๊ฒ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค. ์ด๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋์์ฃผ์ธ์. ๊ฐ์ฌ ํด์..
์๋ ํ์ธ์ @GreenWhiteDev
๋ค์์์ ๊ฒ์ํ์ฌ ๊ธฐ๋ณธ ์ข
์์ฑ์ ํ์ธํ์ต๋๋ค.
https://github.com/PHPOffice/PHPExcel/search?utf8=%E2%9C%93&q=protectCells&type=
๊ฒฐ๊ณผ์ ๋ค์์ด ํ์๋ฉ๋๋ค.
https://github.com/PHPOffice/PHPExcel/blob/1c8c2379ccf5ab9dd7cb46be965821d22173bcf4/Examples/05featuredemo.inc.php#L136 -L139
์๋ง ๋น์ ์ด ์๊ฐํ๊ธฐ์ ์ถฉ๋ถํ ๊ฒ์
๋๋ค.
์ด ๊ฐ์:
$sheet->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
$sheet->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');
ํธ์ง: ์ด ์ฐธ์กฐ ์ถ๊ฐ:
๋ํ ์ฐธ์กฐ
/**
* Set protection on a cell range
*
* <strong i="22">@param</strong> string $pRange Cell (e.g. A1) or cell range (e.g. A1:E1)
* <strong i="23">@param</strong> string $pPassword Password to unlock the protection
* <strong i="24">@param</strong> boolean $pAlreadyHashed If the password has already been hashed, set this to true
* <strong i="25">@throws</strong> PHPExcel_Exception
* <strong i="26">@return</strong> PHPExcel_Worksheet
*/
public function protectCells($pRange = 'A1', $pPassword = '', $pAlreadyHashed = false)
๊ทธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ธ ๊ฐ์ง ๋งค๊ฐ๋ณ์!
์ด๋ป๊ฒ ์ง๋ด๋์ง ์๋ ค์ฃผ์๊ฒ ์ต๋๊น?
๋๋์ด ์ ๋๋ก ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค์..
$objPHPExcel = ์๋ก์ด PHPExcel;
$objSheet = $objPHPExcel->getActiveSheet();
//์ธํฌ ๋ฒ์๋ฅผ ๋ณดํธ
$objSheet->protectCells('A1:B1', 'PHP');
// ์ธํฌ ๋ฒ์๋ฅผ ๋ณดํธ ํด์
$objSheet->getStyle('A2:B2')->getProtection()
->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
// ์ํฌ์ํธ ๋ณดํธ
$objSheet->getProtection()->setSheet(true);
์ด๊ฒ์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค!
์ถ์ฒ: https://stackoverflow.com/questions/17046207/phpexcel-lock-particular-cell
Laravel์์๋ ๋ค์์ ์ฌ์ฉํฉ๋๋ค.
// ๋น๋ฐ๋ฒํธ๋ก ๋ณดํธ
$sheet->protect('๋น๋ฐ๋ฒํธ');
// ์
๋ฒ์๋ฅผ ๋ณดํธ ํด์
$sheet->getStyle('F2:F1000')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
// PROTECT ์ํฌ์ํธ ์ํธ
$sheet->getProtection()->setSheet(true);
@jorgeald77 ์์ฐ! ๋๋ฌด ๋ฉ์ ธ์..
์ ์ ํ๋ก์ ํธ๋ฅผ ์ค๋จํ์ต๋๋ค. ๋ฉฐ์น ์ ์ ์์ํ์ต๋๋ค.
๊ทธ๋๋ ์ ๋ฒ์์ ๋ํ ๋ณด์์ ๊ตฌํํ ์ ์์์ต๋๋ค. ๋๋ ๋น์ ์ ์๋ฃจ์ ์ ์๋ํ๊ณ ๊ทธ๊ฒ์ ๋๋ฌด ๋ฉ์ง๊ฒ ์๋ํ์ต๋๋ค. ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
๊ธฐ์ฌํด ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค..
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋์ด ์ ๋๋ก ๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค์..
$objPHPExcel = ์๋ก์ด PHPExcel;
$objSheet = $objPHPExcel->getActiveSheet();
//์ธํฌ ๋ฒ์๋ฅผ ๋ณดํธ
$objSheet->protectCells('A1:B1', 'PHP');
// ์ธํฌ ๋ฒ์๋ฅผ ๋ณดํธ ํด์
$objSheet->getStyle('A2:B2')->getProtection()
->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
// ์ํฌ์ํธ ๋ณดํธ
$objSheet->getProtection()->setSheet(true);
์ด๊ฒ์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค!
์ถ์ฒ: https://stackoverflow.com/questions/17046207/phpexcel-lock-particular-cell
Laravel์์๋ ๋ค์์ ์ฌ์ฉํฉ๋๋ค.
// ๋น๋ฐ๋ฒํธ๋ก ๋ณดํธ
$sheet->protect('๋น๋ฐ๋ฒํธ');
// ์ ๋ฒ์๋ฅผ ๋ณดํธ ํด์
$sheet->getStyle('F2:F1000')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
// PROTECT ์ํฌ์ํธ ์ํธ
$sheet->getProtection()->setSheet(true);