php excel for laravel

作者: MarlonFan | 来源:发表于2016-07-21 13:39 被阅读208次

laravel中excel插件的安装

在composer中引入laravel excel的包

    "maatwebsite/excel": "1.*"

在位于laravel/app/config下编辑app.php文件,在providers数组中添加以下值

    'Maatwebsite\Excel\ExcelServiceProvider',

在同文件中找到aliasses数组添加以下值

    'Excel' => 'Maatwebsite\Excel\Facades\Excel',

执行composer installcomposer update命令.

laravel excel的配置

在位于laravel/vendor/maatwebsite/excel/src/config下一些对于插件的一些配置项

config.php > 对excel和表全局的一些设置
csv.php > 对导入导出csv文件的设置
export.pho > 对打印出文件内容的一些设置
import.php > 对导入excel文件的设置

laravel excel的简单使用

在之前的准备工作都做好了以后我们就可以用excel插件了

导出excel

<?php
$rows = array( array( 'id' => 1, 'name' => 'marlon' ) );

Excel::create($name, function($excel) use ($rows) {
    $excel->sheet('当天报名', function($sheet) use ($rows) {
        $sheet->fromArray($rows);
    });
})->store('xls', storage_path('excel'));

由于在php闭包中无法拿到闭包外的变量,所以需要用use把$rows引入进去,在最后的链式调用的store中所传的参数就是所需excel的格式和要保存到服务器的位置,此为绝对路径.

在这个地方store()方法为存储,相对应的还可以使用download()方法来直接下载,至于export方法笔者还没搞懂用处是什么

导入excel

<?php
Excel::load(Input::file('excel'), function($reader) {
    //获取excel的第几张表
    $reader = $reader->getSheet(0);
    //获取表中的数据
    $results = $reader->toArray();
    //在这里的时候$results 已经是excel中的数据了,可以再这里对他进行操作,入库或者其他....
});

END

在最后感谢excel插件的作者,他的官方网站maatwebsite.
本文中若有错误欢迎指正.

相关文章

网友评论

  • 该叶无法找到:配置可以vendor:publish到项目里进行管理的。后续可以多讲讲这个excel库的使用,我反正觉得坑挺多的…:+1:
    该叶无法找到:@该叶无法找到 期待:sunglasses:
    MarlonFan:@该叶无法找到 OK哒. 这个是从博客搬过来的. 刚刚入驻简书~

本文标题:php excel for laravel

本文链接:https://www.haomeiwen.com/subject/soebjttx.html