如何从 PHP 生成受密码保护的电子表格?
我尝试了http://phpexcel.codeplex.com/
中的PHPExcel库PHPExcel提供3个级别的“保护”:文档安全性,工作表安全性和单元安全性。
文档安全性允许您在完整的电子表格上设置密码,只允许在输入密码时进行更改。但是用户可以打开电子表格并查看内容而无需密码。
我也尝试了Spreadsheet_Excel_Writer,但没有找到任何解决方案。 Spreadsheet_Excel_Writer仅提供工作表级别的安全性,而不提供文件保护。
有没有人知道任何其他提供文件保护的 PHP Excel编写器,用户甚至无法在没有密码的情况下打开Excel文件?
答案 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);