【发布时间】:2015-12-07 15:35:34
【问题描述】:
我正在尝试使用 PHPexcel 创建一个受密码保护的 Excel 工作表,这是我的代码:
<?php
require_once '../classes/PHPExcel.php';
include '../classes/PHPExcel/Writer/Excel2007.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'world!');
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword('1234');
$objPHPExcel->getActiveSheet()->setTitle('Reports');
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('Reports.xlsx');
?>
但是当我打开Reports.xlsx 文件时,它不会要求输入任何密码。这段代码有什么问题?我从stackoverflow尝试了这段代码Can I create Excel file with password protection
提前致谢。
【问题讨论】:
-
刚刚看到这个http://stackoverflow.com/a/7230641/3012938 它会有所帮助。它可以回答您的问题。
-
@PatrickMutwiri 我已经使用了该代码,但它不需要任何密码。
-
有什么错误吗?调试跟踪?
-
PHPExcel 不提供工作簿的加密。密码只能防止修改,没有任何东西可以防止人们打开和查看 .xls。您最好的选择是将文件包装在受密码保护的 zip 中。
-
我认为工作簿安全存在问题。使用工作表一。