教程:Laravel 5.2.X 使用 LaravelExcel 实现导出Excel表格功能

取之于Laravist,回馈Laravist。

一、简介:

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,实现导入、导出Excel功能。

项目Github:https://github.com/Maatwebsite/Laravel-Excel| 1ff44aff5810a4cafecac331d4a646181 |

二、安装 & 配置

安装:

composer require laravelcollective/bus //Laravel 5.2需要安装此包,5.1无需安装
composer require maatwebsite/excel

配置:

修改 config/app.php 中的 providers & aliases

'providers' => [
    // ...
    Collective\Bus\BusServiceProvider::class,        //5.2要引入此包,5.1无需引用
    Maatwebsite\Excel\ExcelServiceProvider::class,
    // ...
],
'aliases' => [
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,   //传说中的快捷方式
],

三、使用

控制器中首先要 use Excel *特别注意

//导出 Excel 演示
public function export(){    
    $cellData = [        
        ['ID','姓名','成绩'],        
        ['001','张三','99'],        
        ['002','李四','92'],        
        ['003','王五','95'],        
        ['004','赵六','89'],        
        ['005','赵云','96'],    
    ];    
    Excel::create('学生成绩',function($excel) use ($cellData){        
        $excel->sheet('score', function($sheet) use ($cellData){            
            $sheet->rows($cellData);               
        });    
    })->export('xls');
}

四、补充

是不是超级简单,更多设置如添加行、添加列、行高、列宽等参见官方文档,英文不好的同学Google翻译你就懂的,认真一点,什么也难不倒你。

PS:phpStrom 粘贴过来的代码格式全没了,还要重新排版,不知JellyBool能否改进。

abeltest

尝试了一下 很好用,感谢分享。

aireet

mark一下,感觉很方便。马上就要用到了,谢谢!

想学算法的程序猴子

这…why not baidu docs of Maatwebsite/Laravel-Excel

libobo

#赞
#####我的是laravel 5.1 在使用这个这个扩展包的时候发现了一个方法 fromArray() 可以直接将从数#####据库中取出的 Collection 直接导出成excel 文件,感觉非常方便 😃
public function export()
{
$users_info = User::get();
filename = iconv('UTF-8', 'gb2312', '用户详细列表哈哈'); Excel::create(filename,function(excel)use(excel) use (users_info){
excel>sheet(UserInfo,function(excel->sheet('UserInfo', function(sheet) use ($users_info){
sheet>fromArray(sheet->fromArray(users_info);
});
})->export(‘xls’);
}