Laravel 5

upload de fichier excel dans une base de données MySQL

  • Avatar de therassonkonan1
    Membre depuis :
    24/03/2017
    Messages :
    6

    Bonjour,
    je suis en train de developper une application avec laravel 5.4.30, pour le controle de compte d'abonnés d'une bibliothèque. chaque abonné possedant un compte annuel. le gestionnaire depuis 2015 utilise un documment Excel ou chaque feuille represente un mois et resume le nom du membre ainsi que les infomations sur son abonnement Jai entendu parler d'une technogie pour renseigner la BD depuis un document excel.
    jai suivi un tuto et fais un test avant d'appliquer à mon cas
    la migration
    public function up() { Schema::create('items', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->text('description'); $table->timestamps(); }); }
    la vue

    <form class="form-horizontal" action="{{url('importExcel')}}" enctype="multipart/form-data" method="post">
    {{ csrf_field() }}
    <div class="form-group">
    <div class="col-md-8">
    <input type="file" name="import_file" class="form-control" required>
    </div>
    <div class="col-md-2">
    <input type="submit" class="btn btn-danger" value="Télécharger">
    </div>
    </div>
    </form>

    la route

    Route::post('importExcel', 'HomeController@importExcel');

    la methode dans le controller
    `
    public function importExcel(Request $request)
    {
    if(Input::hasFile('import_file')){
    $path = Input::file('import_file')->getRealPath();
    $data = Excel::load($path, function($reader) {
    })->get();

    if(!empty($data) && $data->count()){
    foreach ($data as $key => $value) {
    $insert[] = ['title' => $value->title, 'description' => $value->description ];
    }
    if(!empty($insert)){
    DB::table('items')->insert($insert);
    dd('Insert Record successfully.');
    }
    }
    Mais a la fin jai une erreur du style Property [title] does not exist on this collection instance.`
    Aussi préciser que jai 3 feuilles dans mon document excel pour le test
  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1582

    Salut,

    Il faudrait voir ce que retourne effectivement la méthode load d'Excel. Avec un petit dd($data) à la sortie.

Vous ne pouvez pas répondre à ce sujet.