我想用密码创建excel文件。
$library = libraries_load('PHPExcel');
$objPHPExcel = new PHPExcel();
$objPHPExcel = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objPHPExcel->load('sample.xlsx');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello World');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('sample.xlsx');
文件现在创建了,我想把密码放在"sample.xlsx"文件中
我尝试了以下代码。
$objPHPExcel->getActiveSheet()->getSecurity()->setWorkbookPassword("password");
但不起作用,感谢您的帮助。
以下代码在drupal 8.7.7 中进行测试
use PhpOfficePhpSpreadsheetIOFactory;
use PhpOfficePhpSpreadsheetSpreadsheet;
$library = libraries_load('PHPExcel');
$objPHPExcel = new PHPExcel();
$objPHPExcel = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objPHPExcel->load('sample.xlsx');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B1', 'World');
Excel提供3个级别的"保护":工作表安全性、文档安全性和单元格安全性。
工作表安全提供了其他安全选项:您可以禁止在特定工作表上插入行,禁止排序,
设置工作表安全的示例:
$objPHPExcel->getActiveSheet()->getProtection()
->setSheet(true) //use to enable worksheet protection
->setSort(true)
->setInsertRows(true)
->setFormatCells(true)
->setPassword('simple');
文档安全允许您在完整的电子表格上设置密码,只允许在输入密码时进行更改。
设置文档安全的示例:
$objPHPExcel->getSecurity()
->setLockWindows(true)
->setLockStructure(true)
->setWorkbookPassword("simple");
单元格安全提供锁定/解锁单元格以及显示/隐藏内部公式的选项。
设置蜂窝安全的示例:
$objPHPExcel->getActiveSheet()
->getStyle('B1')
->getProtection()
->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
保护活动工作表后保存文件。
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('sample.xlsx');