我正在使用Laravel 5和Maatwebsite Excel包读取和写入Excel文件,但我不知道究竟如何管理下一个情况
public function readExcel(Request $request){
$content = [];
Excel::load('file.xls', function($reader){
$content = $reader->get();
});
// do more somethings and return
return $content;
}
问题是,当我返回$content时,变量中没有任何内容,我有一个想法,$content具有初始值,Excel::load仍未完成,$content的新值尚未设置。
谢谢。
尝试在类中声明一个变量。例:
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;
}
}
另一种方式:
public function readExcel(Request $request){
$excel = Excel::load('file.xls', function($reader){
$content = $reader->get();
});
dd($excel->get());
}
您没有返回闭包的内容。试试这个:
public function readExcel(Request $request)
{
$content = Excel::load('file.xls', function($reader) {
return $reader->get();
});
// do more somethings and return
return $content;
}