Laravel Excel 遇到的坑

laravel使用Laravel Excel导出csv

最近在项目中需要将数据导出为csv,从网上看到Laravel Excel还不错,记录下遇到的几个坑。

1.Laravel Excel 2.0的版本和3.0的版本有很大的区别,使用composer加载的时候要注意版本,3.0和2.0的语法基本不同了

2.我使用的是2.0的版本

  • 首先通过composer安装依赖
    composer require maatwebsite/excel ~2.1
  • 发布配置
    php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"  

    -修改配置文件excel.php(这个很重要,如果不做修改的话excel识别不到你的编码就会出现乱码的情况)

在config/excel.php中找到csv,把里面的use_bom=>false改为use_bom=>true,这样导出的csv文件就会有bom头,不会出现乱码。

  • 使用
    Excel::create(iconv('UTF-8', 'GBK', '文章点赞数据'),function ($excel) use($params){
            $excel->sheet('score',function ($sheet) use($params){
                $sheet->rows($params);
            });
        })->export('csv');
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
Jourdon

maatwebsite/excel 感觉太耗内存了,可以试试 fast-excel,

4年前 评论
夏天 (楼主) 4年前
fatrbaby

按照semver的规则,主版本号本来就是做不兼容API修改的,升级了主版本号,语法当然不一样了。这不算是坑,只是你不了解而已。

4年前 评论
夏天 (楼主) 4年前

这个composer很不错的,尤其是里面的queueImport,简直不要太爽。
这里有个坑是显示 line1 ……height ……line2的
大概是这么个错误提示。
这个的原因是因为excel文件坏了。
删除多余的空白sheet就好了。

4年前 评论
xuri

推荐一个功能丰富、兼容性好、高性能的 Excel 文档基础库:github.com/xuri/excelize

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
2
喜欢
1
收藏
0
排名:1194
访问:3720
私信
所有博文
社区赞助商