直接上代码:
1,安装
composer require maatwebsite/excel ~2.1.0
2,在bootstrap文件下的app.php中加入
$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 下代码,我没有修改,是成功的,应该是依赖版本更新了吧!
4,定义路由
Route::get('excel/export','ExcelController@export');
Route::get('excel/import','ExcelController@import');
5,接下来我们先在ExcelController.php中定义export方法实现导出功能:
<?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->withFacades();
$app->withEloquent();
问题: xsl后缀可能会有乱码,改为csv就好了!
总结:缺乏composer知识,laravel核心概念,laravel和lumen有什么区别,学习!灵感没了,就写到这吧!
参考文献: