如何将密码添加到 Laravel 中的 Excel 文件
How to add password to Excel file in Laravel
我正在学习Laravel框架。我想知道是否有一个包或工具可以自动将密码添加或插入Laravel应用程序中的Excel文件,以便注册用户只有在下载后才能使用用户知道的密码打开文件。
您可以添加 maatwebsite/excel
package for Laravel which is a wrapper around phpoffice/phpspreadsheet
包。
以下是有关如何在 PhpSpreadsheet 上设置电子表格安全性的文档:
https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting-security-on-a-spreadsheet
请参阅 laravel-excel 文档的 extending section 以了解如何调用 PhpSpreadsheet 事件上的方法或使用宏。
最终代码将是这样的:
namespace App\Exports;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\BeforeExport;
class InvoicesExport implements WithEvents
{
/**
* @return array
*/
public function registerEvents(): array
{
return [
BeforeExport::class => function(BeforeExport $event) {
$event->writer->getDelegate()->getSecurity()->setLockWindows(true);
$event->writer->getDelegate()->getSecurity()->setLockStructure(true);
$event->writer->getDelegate()->getSecurity()->setWorkbookPassword("Your password");
];
}
}
我正在学习Laravel框架。我想知道是否有一个包或工具可以自动将密码添加或插入Laravel应用程序中的Excel文件,以便注册用户只有在下载后才能使用用户知道的密码打开文件。
您可以添加 maatwebsite/excel
package for Laravel which is a wrapper around phpoffice/phpspreadsheet
包。
以下是有关如何在 PhpSpreadsheet 上设置电子表格安全性的文档: https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting-security-on-a-spreadsheet
请参阅 laravel-excel 文档的 extending section 以了解如何调用 PhpSpreadsheet 事件上的方法或使用宏。
最终代码将是这样的:
namespace App\Exports;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\BeforeExport;
class InvoicesExport implements WithEvents
{
/**
* @return array
*/
public function registerEvents(): array
{
return [
BeforeExport::class => function(BeforeExport $event) {
$event->writer->getDelegate()->getSecurity()->setLockWindows(true);
$event->writer->getDelegate()->getSecurity()->setLockStructure(true);
$event->writer->getDelegate()->getSecurity()->setWorkbookPassword("Your password");
];
}
}