Lumen中使用 maatwebsite/excel~3.1匯入匯出
阿新 • • 發佈:2020-08-17
Lumen中使用 maatwebsite/excel~3.1匯入匯出
此文引用作者:
騎程式碼奔小康 (如有意見聯絡即可刪除)好久沒有用maatwebsite/excel都出3.1了,看著完全一臉懵,度娘上也全是2.1的教程,先來個簡單的匯入匯出練練手!
一、匯出excel檔案
- 安裝 maatwebsite/excel預設就是安裝3.1
composer require maatwebsite/excel
- 在bootstrap/app.php中加入
$app->register(Maatwebsite\Excel\ExcelServiceProvider::class);
- 在app目錄下建立匯出類的目錄Exports -> app/Exports
- 在Exports目錄中建立 InvoicesExport.php檔案,我這裡使用的是 將資料從控制器傳遞到匯出,匯出的資料格式是什麼樣完全由控制器決定
<?php
namespace App\Exports;
use App\Invoice;
use Maatwebsite\Excel\Concerns\FromArray;
class InvoicesExport implements FromArray
{
protected $invoices;
public function __construct(array $invoices)
{
$this->invoices = $invoices;
}
public function array(): array
{
return $this->invoices;
}
}
- 在控制器中就可以開始操作啦
use App\Exports\InvoicesExport;
use Maatwebsite\Excel\Facades\Excel;
public function exportExcel(){
$arr = [
['姓名', '地址', '性別',可加欄位'],
[4, 5, 6],
[這裡就是你的資料庫對應欄位資料]
];
$export = new InvoicesExport($arr);
$bool = Excel::download($export, 'invoices.xlsx';);
return $bool;
}