导出Excel怎设置密码

我想在导出Excel的时候给工作簿设置密码,有没有什么Excel扩展可以实现的

导出Excel怎设置密码

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 9

如果你用的PHPExcel的话,PHPExcel是有设置密码的

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

手册上面是这么说的

$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
// Needs to be set to true in order to enable any worksheet protection!
$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');
4年前 评论
huchao399 (楼主) 4年前

file我想实现打开Excel时输入密码才能查看的效果

4年前 评论
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");

这个好像是对整个文件加密的

4年前 评论
对整个文件加密:
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");


对工作表加密:
$objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel');
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
$objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true);


对单元格加密:
$objPHPExcel->getActiveSheet()->getStyle('B1')->getProtection()->setLocked(
    PHPExcel_Style_Protection::PROTECTION_UNPROTECTED
);
4年前 评论
huchao399 (楼主) 4年前

楼主找到解决方法了吗?

3年前 评论
huchao399 (楼主) 3年前

你可以尝试以下COM的方式加密。代码如下

        $xls_app = new COM('Excel.Application', null, CP_UTF8);
        $xls_app->DisplayAlerts = false;

        // Excel文件打开
        $book = $xls_app->WorkBooks->Open($tmpfile);
        // 保存
        $book->saveAs($tmpfile, null, $password);
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!