Как добавить пароль в файл Excel в Laravel - PullRequest
0 голосов
/ 16 января 2020

Я учусь Laravel Framework. Я хотел бы знать, есть ли пакет или инструмент, который автоматически добавляет или вставляет пароль в файл Excel в приложении Laravel, чтобы зарегистрированный пользователь мог открыть файл с паролем, известным пользователю только после его загрузки.

1 Ответ

2 голосов
/ 16 января 2020

Вы можете добавить maatwebsite/excel пакет для Laravel, который является оберткой вокруг phpoffice/phpspreadsheet пакета.

Здесь приведены документы о том, как установить безопасность в электронной таблице на PhpSpreadsheet : https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting -security-on-a-электронные таблицы

См. расширение раздела документации laravel -excel , чтобы узнать, как вызывать 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");
        ];
    }
}
...