Uczę się Laravel Framework. Chciałbym wiedzieć, czy istnieje pakiet lub narzędzie, które automatycznie dodaje lub wstawia hasło do pliku Excel w aplikacji Laravel, aby zarejestrowany użytkownik mógł otworzyć plik z hasłem znanym użytkownikowi dopiero po jego pobraniu.

0
Bless Joe 16 styczeń 2020, 12:04

1 odpowiedź

Najlepsza odpowiedź

Możesz dodać {X0}} pakiet do Lavera, który jest owijką wokół {X1}} pakiet.

Oto dokumenty, jak ustawić zabezpieczenia na arkuszu kalkulacyjnym na PhpspReadsheet : https://phpspreadsheet.readthedocs.io / PL / Najnowsze / tematy / Przepisy / # Ustawianie arkusza kalkulacyjnego

Patrz Rozwijanie rozdział Lavel-Excel Dokumentacje, aby dowiedzieć się, jak wywołać metody Phpspreadsheet w przypadku zdarzenia lub za pomocą makra.

Ostateczny kod byłby taki:

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");
        ];
    }
}
3
Hafez Divandari 16 styczeń 2020, 09:35