excel官網
完整laravel5.3案例,包含導出excel,發送附件郵件
1、準備laravel工程項目:
2、安裝
在根目錄下使用composer依賴安裝符合自身版本的excel
composer require maatwebsite/excel
配置
在config/app.php
中註冊服務提供者到providers
數組添加
Maatwebsite\Excel\ExcelServiceProvider::class,
在config/app.php
中註冊門面到aliases
數組添加
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
如果想要對Laravel Excel進行更多的自定義配置,執行如下Artisan命令:
php artisan vendor:publish
執行成功後會在config
目錄下生成一個配置文件excel.php進行配置
。
3、導出excel文件
根據自己的需求在合適的地方編寫代碼
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
class CartController extends Controller
{
public function export(){
$excel_data = [
['學號','姓名','成績'],
['10001','AAAAA','99'],
['10002','BBBBB','92'],
['10003','CCCCC','95'],
['10004','DDDDD','89'],
['10005','EEEEE','96'],
];
Excel::create('學生成績',function($excel) use ($cellData){
$excel->sheet('score', function($sheet) use ($cellData){
$sheet->rows($cellData);
});
})->export('xls');
}
}
訪問執行對應的方法。可獲得xls的excel文件
擴展:
導出xlsx或者CSV,更改export參數即可
導出文件到系統把export替換爲store
指定導出路徑storage_path('excel/exports') 默認excel/exports
出現亂碼修改文件名
iconv('UTF-8', 'GBK', '學生成績')
4、導入excel文件
在合適的位置加入此邏輯
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
class CartController extends Controller
{
public function import(){
$filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '學生成績').'.xls';
Excel::load($filePath, function($reader) {
$data = $reader->all();
dd($data);
});
}
}