phpspreadsheet密码保护

时间:2018-01-01 11:24:45

标签: excel passwords phpspreadsheet

使用 phpspreadsheet

有没有办法用密码保护Excel工作表,以便用户在没有密码的情况下无法阅读?

我知道你可以保护单元格或工作表不被写入,但我正在寻找一种方法来保护整个文件不被打开,一旦用户打开它,它会弹出"输入密码&#34 ;屏

2 个答案:

答案 0 :(得分:1)

在电子表格上设置安全性

Excel提供3个级别的“保护”:

  1. 文档:允许您在完整的电子表格中设置密码,仅在输入该密码后才能进行更改。
  2. 工作表:提供其他安全选项:您可以禁止在特定工作表上插入行,不允许排序,...
  3. 单元格:提供用于锁定/解锁单元格以及显示/隐藏内部公式的选项。 设置文档安全性的示例:

    $spreadsheet->getSecurity()->setLockWindows(true); $spreadsheet->getSecurity()->setLockStructure(true); $spreadsheet->getSecurity()->setWorkbookPassword("PhpSpreadsheet");

有关设置工作表安全性的示例:

   $spreadsheet->getActiveSheet()->getProtection()->setPassword('PhpSpreadsheet');
   $spreadsheet->getActiveSheet()->getProtection()->setSheet(true);
   $spreadsheet->getActiveSheet()->getProtection()->setSort(true);
   $spreadsheet->getActiveSheet()->getProtection()->setInsertRows(true);
   $spreadsheet->getActiveSheet()->getProtection()->setFormatCells(true);

有关设置单元安全性的示例:

$spreadsheet->getActiveSheet()->
getStyle('B1')->
getProtection()->
setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_UNPROTECTED);

如果需要任何工作表保护功能,请确保启用工作表保护!可以使用以下代码完成此操作:

$spreadsheet->getActiveSheet()->getProtection()->setSheet(true);

答案 1 :(得分:-1)

在Excel 2016上(里程可能因版本而异)

打开电子表格,然后转到:

  • 文件>
  • 信息>
  • 保护工作簿>用密码加密

并输入密码,这将在打开时提示用户。