web-dev-qa-db-fra.com

Comment obtenir Excel pour mettre en réseau dans maatwebsite

J'essaie de convertir un fichier Excel en un tableau en utilisant la dernière version de Laravel-Excel (3.1.9)

Le code ci-dessous va télécharger le fichier:

return Excel::download(new SalesOrderExport('columns'),'test.xlsx')

Mais je dois le convertir pour obtenir un tableau uniquement. Je ne veux pas stocker ces données Excel dans une base de données à ce stade.

J'ai essayé avec le code ci-dessous mais cela n'a pas fonctionné car la méthode load n'est pas disponible dans la version 3.

Excel::load($request->file('sampledata'), function ($reader) {
    return response()->json($reader);
});

Veuillez partager vos réflexions sur la façon d'obtenir un tableau à partir d'Excel.

4
Rishi Raut

Voici comment j'y suis parvenu:

Dans ma classe UsersImport: espace de noms App\Imports;

use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\Importable;

class UsersImport implements ToModel
{
    use Importable;

    public function model(array $row)
    {
        return new User([
           'id' => $row[0]
        ]);
    }
}

Et dans le contrôleur:

$imported_users = (new UsersImport)->toArray(request()->file('Excel_file'))[0];

J'espère que ça t'aide.

0
user5832543