Laravel-excel: [рдкреНрд░рд╢реНрди] рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рд╕рд┐рддре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Maatwebsite/Laravel-Excel

рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг, рд▓рд╛рд░рд╡реЗрд▓ рд╕рдВрд╕реНрдХрд░рдг

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг, рд▓рд╛рд░рд╡реЗрд▓ 5.4

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЕрднреА рдХрд░рдирд╛ рд╣реИред

рдореИрдВ рдПрдХреНрд╕реЗрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдЯрд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдорд┐рд▓реА рдмреБрдирд┐рдпрд╛рджреА рдФрд░ рдЙрдиреНрдирдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рдореИрдВрдиреЗ рдЬрд┐рди рддрд░реАрдХреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╡реЗ рдереЗ:
$sheet->protect() , рдФрд░ рдпрд╣ рдЙрдиреНрдирдд рд╡рд┐рдзрд┐ рд╣реИред

рдпрд╣ рд╡рд┐рдзрд┐рдпрд╛рдВ рдкреВрд░реА рд╢реАрдЯ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереАрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЗрд╡рд▓ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рд╡рд░реНрдХрд╢реАрдЯ рд╡рд┐рдзрд┐ рджреЗрдЦреА:
$ рд╢реАрдЯ-> рдкреНрд░реЛрдЯреЗрдХреНрдЯрд╕реЗрд▓реНрд╕ (A1); рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВред рдзрдиреНрдпрд╡рд╛рдж..

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдорд┐рд▓рд╛ ..

$objPHPExcel = рдирдпрд╛ PHPExcel;
$objSheet = $objPHPExcel->getActiveSheet ();

// рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреА рд░рдХреНрд╖рд╛ рдХрд░реЗрдВ
$objSheet->protectCells('A1:B1', 'PHP');

// рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$objSheet->getStyle('A2:B2')->getProtection()
-> рд╕реЗрдЯ рд▓реЙрдХ (PHPExcel_Style_Protection :: PROTECTION_UNPROTECTED);

// рд╡рд░реНрдХрд╢реАрдЯ рд╢реАрдЯ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$objSheet->getProtection()->setSheet(true);

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ!
рд╕реНрд░реЛрдд: https://stackoverflow.com/questions/17046207/phpexcel-lock-particle-cell

рд▓рд╛рд░рд╡реЗрд▓ рдореЗрдВ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

// рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$ рд╢реАрдЯ-> рдкреНрд░реЛрдЯреЗрдХреНрдЯ ('рдкрд╛рд╕рд╡рд░реНрдб');

// рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЛ рдЕрдирдкреНрд░реЛрдЯреЗрдХреНрдЯ рдХрд░реЗрдВ
$рд╢реАрдЯ->getStyle('F2:F1000')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);

// рд╡рд░реНрдХрд╢реАрдЯ рд╢реАрдЯ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$ рд╢реАрдЯ-> рдЧреЗрдЯрдкреНрд░реЛрдЯреЗрдХреНрд╢рди () -> рд╕реЗрдЯрд╢реАрдЯ (рд╕рдЪ);

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирдорд╕реНрддреЗ @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');

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕ рд░реЗрдлрд░реА рдХреЛ рдЬреЛрдбрд╝рдирд╛:
рдФрд░ рджреЗрдЦреЗрдВ

https://github.com/PHPOffice/PHPExcel/blob/1c8c2379ccf5ab9dd7cb46be965821d22173bcf4/Classes/PHPExcel/Worksheet.php#L1793 -L1814

    /**
     * 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()
-> рд╕реЗрдЯ рд▓реЙрдХ (PHPExcel_Style_Protection :: PROTECTION_UNPROTECTED);

// рд╡рд░реНрдХрд╢реАрдЯ рд╢реАрдЯ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$objSheet->getProtection()->setSheet(true);

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ!
рд╕реНрд░реЛрдд: https://stackoverflow.com/questions/17046207/phpexcel-lock-particle-cell

рд▓рд╛рд░рд╡реЗрд▓ рдореЗрдВ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

// рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$ рд╢реАрдЯ-> рдкреНрд░реЛрдЯреЗрдХреНрдЯ ('рдкрд╛рд╕рд╡рд░реНрдб');

// рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЛ рдЕрдирдкреНрд░реЛрдЯреЗрдХреНрдЯ рдХрд░реЗрдВ
$рд╢реАрдЯ->getStyle('F2:F1000')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);

// рд╡рд░реНрдХрд╢реАрдЯ рд╢реАрдЯ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
$ рд╢реАрдЯ-> рдЧреЗрдЯрдкреНрд░реЛрдЯреЗрдХреНрд╢рди () -> рд╕реЗрдЯрд╢реАрдЯ (рд╕рдЪ);

@ jorgeald77 рд╡рд╛рд╣! рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ ..

рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреБрдЫ рджреЗрд░ рдХреЗ рд▓рд┐рдП рд░реЛрдХ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рд╣реА рд╢реБрд░реБрдЖрдд рдХреА рд╣реИред

рдореИрдВ рддрдм рд╕реЗрд▓ рд░реЗрдВрдЬ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж..

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

disto picture disto  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kertul picture kertul  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rossjcooper picture rossjcooper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ellej16 picture ellej16  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lucatamtam picture lucatamtam  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ