如何使用PHPExcel读取密码保护的Excel文件?

6

当我尝试使用PHPExcel读取一个受密码保护的文件时,我得到了这个错误。我尝试在PHPExcel的不同函数中粘贴密码,但都不能工作。请告诉我如何通过PHPExcel打开受密码保护的Excel文件。

There was a problem handling your file. Technical details: Cannot read encrypted file

我的代码

    $inputFileType = PHPExcel_IOFactory::identify(dirname(__FILE__) . '/../uploads/' . $model->report);
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    if ($inputFileType != 'CSV') {
         $objReader->setReadDataOnly(true);
    }
    $objPHPExcel = $objReader->load(dirname(__FILE__) . '/../uploads/' . $model->report);
    $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);

@MarkBaker,负责PHPExcel的开发人员一年前表示PHPExcel不支持受密码保护的工作簿。不知道这方面是否有任何新闻,但希望他是SO的活跃成员,并且很快会澄清这个问题。 - Rolando Isidoro
1个回答

2

目前,PHPExcel还不能读取已被密码保护的文件,但昨天有人发布了一份PR,基于Perl加密文件阅读器,应该可以允许这样做。我还没有看过它,今天由于工作的现实压力,我可能不会有太多机会去看它;但是在接下来的一周内,我应该会有机会测试它……所以有真正的希望,下一个版本将允许读取受密码保护的xls文件。


感谢您的回复。祝您在实现这个功能时一切顺利。 - Harikrishnan
为什么不看一下1.8.0版本并亲自体验呢? - Mark Baker
3
@MarkBaker,我已经搜索过了,但只找到了创建密码保护的Excel文件。我找不到如何读取密码保护文件的方法。如果你有相关的参考资料,能否帮忙一下?谢谢。 - Parixit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接