我正在创建用于导入Excel文件的导入功能。控制器将处理它并将数据保存到数据库。然后,我想将错误导出到excel文件并发送给视图。如果用户单击下载,则excel文件中包含错误将下载,否则不执行任何操作。
因此,我想向视图发送隐藏文件,以避免将文件保存到数据库。
怎么做,请帮忙!
答案 0 :(得分:0)
在控制器中导入句柄之后,您可以将错误数据传递到数组并将其发送到会话,如下所示:
$request->session()->put('err_file', $arr_err_data);
并创建函数以获取错误文件:
public function getErrFile(){
return Excel::create('Error', function ($excel){
$excel->sheet('Error', function ($sheet) {
$arr_err=Session::get('err_file');
$sheet->fromArray($arr_err);
});
})->download('xlsx');
}
不要忘记为此功能创建路由:
Route::get('/get_err_file', 'YourController@getErrFile');
最终,您可以创建链接进行下载:
<a class="btn btn-link" href="{{url('get_err_file')}}" >Download</a>
希望它能对您有所帮助!