下面由laravel教程栏目给大家介绍关于laravel-excel3.1最基础用法,希望对大家有所帮助!
官网:https://docs.laravel-excel.com
路由定义为GET
Route::get('/export', [OrderController::class, 'export']);控制器转发
这是一款基于Bootstrap的简单实用的选项卡效果。该选项卡在原生boostrap选项卡的基础上进行了一些美化,效果时尚大方,非常不错。 使用方法 在页面中引入jquery和bootstrap相关文件。
public function export(Request $request): BinaryFileResponse{
return Excel::download(new OrderExport($request->get('status', -1)), 'order.xlsx');}业务代码
status = $status;
}
/**
* 数据源
* @return Collection
*/
public function collection(): Collection
{
$query = Order::query();
if ($this->status != -1) {
$query->where('status', $this->status);
}
return $query->get();
}
/**
* 自定义表头
* @return string[]
*/
public function headings(): array
{
return [
'编号',
'创建人',
'中队长',
'人员',
'名称',
'备注',
'状态',
'创建时间',
'更新时间'
];
}
/**
* 设置单元格时间格式
* @return array
*/
public function columnFormats(): array
{
return [
'H' => NumberFormat::FORMAT_DATE_YYYYMMDD,
'I' => NumberFormat::FORMAT_DATE_YYYYMMDD,
];
}
/**
* 自定义数据列
* @param mixed $row
* @return array
*/
public function map($row): array
{
return [
$row->id,
$row->founder->name ?? '无',
$row->squadron->name ?? '无',
$row->player->name ?? '无',
$row->name,
$row->remark ?: '无',
$this->statusMap($row->status),
Date::dateTimeToExcel($row->created_at),
Date::dateTimeToExcel($row->updated_at),
];
}
/**
* 状态转化
* @param $status
* @return string
*/
public function statusMap($status): string
{
switch ($status) {
case 0:
$statusText = '待处理';
break;
case 1:
$statusText = '处理中';
break;
case 2:
$statusText = '待审核';
break;
case 3:
$statusText = '已完成';
break;
default:
$statusText = '未知';
}
return $statusText;
}
}相关推荐:最新的五个Laravel视频教程










