我有一个视图在我的Laravel项目,让我过滤我的记录,然后我有下载记录到excel的选项,但当我点击下载,它最终过滤记录,而不是导出到excel。
控制器:
public function exportvehicles()
{
return Excel::download(new VehicleLog, 'users.xlsx');
}
模型:
public function collection()
{
return VehicleLog::all();
}
视图:
<button class="btn btn-primary">Export to Excel</button>
路线:
Route::get('users/export/', 'ReportController@exportvehicles');
如果你没有使用ajax或其他东西。试试这个。
<a href="{{"/users/export/"}}" target="_blank" class="btn btn-primary">Export to Excel</a>
可能,您发送了下载过程的post请求。由于过滤器按钮也位于表单标记之间,因此它也被视为提交按钮。因此,需要在上传按钮中写入type = "submit"
,在过滤按钮中写入type = "button"
。如果你分享html代码,我可以更正确地回答。
In Vehicle Controller
Use MaatwebsiteExcelFacadesExcel;
use AppExportsVehicleExport;
Use AppVehicleLog;
public function exportvehicles(){
$vehicle = VehicleLog::all();
$data = [
'success' => 'success'
'vehicles' => $vehicle
];
return Excel::download(new VehicleExport($data), 'Vehicledata.xlsx');
}
和
public function __construct($data) {
$this->data = $data;
}
public function view(): View
{
//dd($this->data);
return view('Spreadsheets.Vehicle_data',$this->data);
}
在此之后,你必须使秃顶部分如何你想要导出