直接上代碼:php
1,安裝html
composer require maatwebsite/excel ~2.1.0
2,在bootstrap文件下的app.php中加入laravel
$app->register(Maatwebsite\Excel\ExcelServiceProvider::class); //註冊Excel服務提供者 class_alias('Maatwebsite\Excel\Facades\Excel', 'Excel'); //給excel起別名,laravel/lumen門面都是怎麼幹,下面詳細解釋;
3,參考別的博客有的修改了 vendor/maatwebsite/excel/src/maatwebsite/excel/excelserviceProvider.php 下代碼,我沒有修改,是成功的,應該是依賴版本更新了吧!web
4,定義路由bootstrap
Route::get('excel/export','ExcelController@export'); Route::get('excel/import','ExcelController@import');
5,接下來咱們先在ExcelController.php中定義export方法實現導出功能:segmentfault
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Excel; class ExcelController extends Controller { //Excel文件導出功能 By Laravel學院 public function export(){ $cellData = [ ['學號','姓名','成績'], ['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'); } }
6,前提:把bootstrap文件夾下面的app.php文件裏的;這兩行代碼的註釋取消掉!app
$app->withFacades(); $app->withEloquent();
問題: xsl後綴可能會有亂碼,改成csv就行了!composer
總結:缺少composer知識,laravel核心概念,laravel和lumen有什麼區別,學習!靈感沒了,就寫到這吧!ide
參考文獻:post