如何从PHP生成受密码保护的电子表格?

时间:2010-12-17 15:19:29

标签: php phpexcel

如何从 PHP 生成受密码保护的电子表格?

我尝试了http://phpexcel.codeplex.com/

中的PHPExcel库

PHPExcel提供3个级别的“保护”:文档安全性,工作表安全性和单元安全性。

文档安全性允许您在完整的电子表格上设置密码,只允许在输入密码时进行更改。但是用户可以打开电子表格并查看内容而无需密码。

我也尝试了Spreadsheet_Excel_Writer,但没有找到任何解决方案。 Spreadsheet_Excel_Writer仅提供工作表级别的安全性,而不提供文件保护。

有没有人知道任何其他提供文件保护的 PHP Excel编写器,用户甚至无法在没有密码的情况下打开Excel文件?

2 个答案:

答案 0 :(得分:3)

完整的工作簿保护需要对工作簿数据进行加密,而用于此的加密算法是我在任何可用文档中都没有看到的Excel格式的一个方面。当然,没有一个PHP Excel编写器库支持这一点:我知道这样做的唯一方法(在工作簿本身内)是使用COM扩展来构建工作簿。

答案 1 :(得分:1)

您可以先使用PHP创建电子表格,然后再使用节点命令行工具secure-spreadsheet进行密码保护,该文件可以使用csv或xlsx并输出加密的xlsx文件。

$infilepath = 'workbook.xlsx';
$outfilepath = 'workbook-encrypted.xlsx';
$encryptionPassword 'password';

$encryptCommand = "cat $infilepath | /usr/local/bin/secure-spreadsheet --password $encryptionPassword --input-format xlsx > $outfilepath ";

exec($encryptCommand);
相关问题