2013-08-23 64 views
3

我試圖創建電子表格的「可編輯區域」(B3:下面的代碼中的L99),並且保護工作得很好。爲了突出顯示可以編輯的內容,我設置了一些顏色,邊框等,我希望在數據被粘貼到允許編輯的單元格中時保護格式不被刪除。如何保護PHPExcel Cell格式?

總之,如何從不同的電子表格中粘貼數據時保存格式?

$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 
    ); 

回答

0

你可以設置一個工作表與setPassword()密碼:

$worksheet->getProtection()->setPassword("the chosen password");