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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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
私信
所有博文
社区赞助商