我想按ID从表格导出到Excel
类似这样的东西:
use Maatwebsite\Excel\Facades\Excel;
use App\Exports\JobExport;
public function export($id)
{
$query=DB::table('applyeds')
->where('job_id',$id)
->get();
return Excel::download( $query, 'job.xlsx');
}
刀片:<a href="{{url('job/export',$job->id)}}" class="button big ripple-effect">Export to Excel</a>
路线:Route::get('job/export/{id}', 'JobsController@export');
给我清空Excel。
答案 0 :(得分:0)
您尚未使用 JobExport 导出。您没有将数据传递到JobExport
首先使用命令进行导出:
php artisan make:export JobExport
您的JobExport必须具有类似以下的数据:
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\Exportable;
class JobExport implements FromView,ShouldAutoSize
{
use Exportable;
private $errors = [];
public function __construct($error_list){
$this->errors = $error_list;
}
public function view(): View
{
return view('exports.job_export_sheet', [
'errors' => $this->errors,
]);
}
}
您可以使用以下代码将数据发送到导出:
return Excel::download(new (new JobExport($query)), 'users.xlsx');
之后,在资源/视图/出口/ job_export_sheet中查看
在 job_export_sheet.blade.php
中添加以下代码<table>
<thead>
<tr>
<th>Row No.</th>
<th>Sheet Name</th>
<th>Row Name</th>
<th>List Of Errors</th>
</tr>
</thead>
<tbody>
@foreach($errors as $key=>$error)
<tr>
<td>{{ $error[0]}}</td>
<td>{{ $error[1]}}</td>
<td>{{ $error[2]}}</td>
<td>{{ $error[3]}}</td>
</tr>
@endforeach
</tbody>
名为 users.xlsx 的excelsheet将被下载。您发送 $ query 的方式不正确