laravel框架操作excel

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);
		});
	}

}

借鑑博主

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章