如何使用PHP生成受密码保护的Excel文件?

时间:2014-10-08 05:26:43

标签: php phpexcel

我正在尝试使用PHP创建受密码保护的excel文件。尝试了许多选项,包括PHPExcel库,但它没有阻止Excel阅读。每当用户尝试打开Excel时,我都需要输入密码。正如许多论坛所建议的那样,我不能使用压缩文件并为其添加密码。

还有其他选择吗?

4 个答案:

答案 0 :(得分:1)

PHPExcel不支持编写受密码保护的文件,因此无需输入密码就无法读取; PHPExcel中的密码保护功能只是为了防止编辑数据,改变工作表的结构等等。

答案 1 :(得分:0)

我希望它有重复吗?

Go Here

$reader = new PHPExcel_Reader_Excel2007;
$workbook =  $reader->load("document.xlsx");
$workbook->-getActiveSheet()->getSecurity()->setWorkbookPassword("your password");

答案 2 :(得分:0)

感谢您在评论中澄清。

据我所知,PHPExcel为您提供了两个密码保护选项。您可以保护作品预订或作品表单。这听起来像是在保护 - 我建议您重新访问PHPExcel文档并进一步查看。这绝对是可能的,您可以在the official Excel page

找到

我唯一的另一个建议就是在密码本身上使用双引号:

$objPHPExcel->getSecurity()->setWorkbookPassword("1234"); 

this answer uses

$workbook->getSecurity()->setWorkbookPassword("your password");

答案 3 :(得分:0)

Try this

    $objPHPExcel->getSecurity()->setLockWindows(true);
    $objPHPExcel->getSecurity()->setLockStructure(true);

    $objPHPExcel->getSecurity()->setWorkbookPassword('secret');

用于工作表安全性:它对我有用!

    $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
    $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true);

    $objPHPExcel->getActiveSheet()->getProtection()->setPassword('password');

但是对于工作簿安全性,我认为phpExcel有一个问题,仍在探索