如何保护PHPExcel Cell格式?

时间:2013-08-23 17:33:43

标签: php phpexcel

我正在尝试创建电子表格的“可编辑区域”(以下代码中的B3:L99),并且保护工作正常。为了突出显示可编辑的内容,我设置了一些颜色,边框等,我希望保护格式在将数据粘贴到允许编辑的单元格时被删除。

简而言之,如何在从其他电子表格粘贴数据时保留格式?

    $objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel');
    $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true);
    // this did not work
    // $objPHPExcel->getActiveSheet()->getProtection()->setFormatColumns(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setFormatRows(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setInsertColumns(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setDeleteColumns(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setDeleteRows(true);
    $objPHPExcel->getActiveSheet()
    ->getStyle("B3:L99")
    ->getProtection()
    ->setLocked(
        PHPExcel_Style_Protection::PROTECTION_UNPROTECTED
    );

1 个答案:

答案 0 :(得分:0)

您可以使用setPassword():

设置工作表的密码
$worksheet->getProtection()->setPassword("the chosen password");