3

我正在尝试创建电子表格的“可编辑区域”(以下代码中的 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
    );
4

1 回答 1

0

您可以使用 setPassword() 设置工作表的密码:

$worksheet->getProtection()->setPassword("the chosen password");
于 2018-02-08T09:55:40.200 回答