4

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

我从http://phpexcel.codeplex.com/尝试了 PHPExcel 库

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

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

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

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

4

2 回答 2

4

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

于 2010-12-21T21:54:09.957 回答
2

您可以先使用 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);
于 2020-01-08T09:08:23.210 回答