這篇文章主要為大家展示了“Laravel-excel3.1怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Laravel-excel3.1怎么用”這篇文章吧。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有清水河免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
路由定義為GET
Route::get('/export', [OrderController::class, 'export']);
控制器轉(zhuǎn)發(fā)
public function export(Request $request): BinaryFileResponse{ return Excel::download(new OrderExport($request->get('status', -1)), 'order.xlsx');}
業(yè)務(wù)代碼
<?php namespace App\Exports; use App\Models\Order; use Illuminate\Support\Collection; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithColumnFormatting; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use PhpOffice\PhpSpreadsheet\Shared\Date; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; /** * 派單導(dǎo)出 */ class OrderExport implements FromCollection, WithHeadings, WithColumnFormatting, WithMapping { public $status; //接受參數(shù) public function __construct(int $status) { $this->status = $status; } /** * 數(shù)據(jù)源 * @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 [ '編號', '創(chuàng)建人', '中隊(duì)長', '人員', '名稱', '備注', '狀態(tài)', '創(chuàng)建時間', '更新時間' ]; } /** * 設(shè)置單元格時間格式 * @return array */ public function columnFormats(): array { return [ 'H' => NumberFormat::FORMAT_DATE_YYYYMMDD, 'I' => NumberFormat::FORMAT_DATE_YYYYMMDD, ]; } /** * 自定義數(shù)據(jù)列 * @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), ]; } /** * 狀態(tài)轉(zhuǎn)化 * @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-excel3.1怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:Laravel-excel3.1怎么用
新聞來源:http://muchs.cn/article40/gdoheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、云服務(wù)器、商城網(wǎng)站、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)