2016-08-11 4 views
0

Ich verwende Laravel 5 und Maatwebsite Excel-Paket bis zum Lesen zu lesen und Excel-Dateien schreiben, aber ich weiß nicht genau, wie die nächste Situation verwaltennach dem Fertig Weiter alle Zeilen in Maatwebsite Excel-Paket für Laravel

public function readExcel(Request $request){ 
    $content = []; 

    Excel::load('file.xls', function($reader){ 

     $content = $reader->get(); 
    }); 

    // do more somethings and return 
    return $content; 
} 

Die Sache ist, wenn ich $ Inhalt zurückgebe, ist nichts in der Variablen, ich habe eine Idee, dass $ Inhalt den Anfangswert und Excel :: load immer noch nicht beenden und der neue Wert von $ Inhalt nicht eingestellt hat.

Danke.

Antwort

1

versuchen Sie, indem Sie eine Variable in der Klasse deklarieren. Für Ex:

class TestController extends Controller { 
    public $content = []; 

    public function readExcel(Request $request){ 

    Excel::load('file.xls', function($reader){ 

     $this->content = $reader->get(); 
    }); 

    // do more somethings and return 
    return $this->content; 
} 

} 

Ein anderer Weg:

public function readExcel(Request $request){ 

    $excel = Excel::load('file.xls', function($reader){ 

     $content = $reader->get(); 
    }); 

    dd($excel->get()); 
} 
+0

Vielen Dank, nur eine Frage, warum mein Code nicht funktioniert? – dexhering

+1

Sie geben nichts zurück in der letzten Funktion Schließung ... –

0

Sie den Inhalt Ihrer Schließung nicht zurück. Versuchen Sie dies stattdessen:

public function readExcel(Request $request) 
{ 
    $content = Excel::load('file.xls', function($reader) { 
     return $reader->get(); 
    }); 

    // do more somethings and return 
    return $content; 
} 
Verwandte Themen