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.
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.