Call to undefined method PHPExcel_Reader_CSV::setLineEnding () 解决办法

今天遇到了一个问题,当升级laravel-excel包后,会报标题描述的错误,通过Maatwebsite/Excel官方GitHub的issue找到了问题的原因:
首先要知道,通过composer安装Maatwebsite/Excel会自动安装phpoffice/phpexcel这个依赖包,问题就出在这个上面了:
就是今天,"phpoffice/phpexcel"升级到了1.8.1版本,运行composer update后,"phpoffice/phpexcel"由1.8.0升级到了1.8.1,这两个版本的区别就是,在1.8.1版本去掉了setLineEnding,所以,解决办法就是将版本锁定到1.8.0版本
于是,我就这么干了:

"require": {
    "laravel/framework": "5.0.*",
    "illuminate/html": "~5.0",
    "barryvdh/laravel-debugbar": "~2.0",
    "maatwebsite/excel": "~2.0.0",
    "phpoffice/phpexcel": "1.8.0"
},

需要注意的是,"phpoffice/phpexcel": "1.8.0"才行,"phpoffice/phpexcel": "~1.8.0"还是会将版本升级到1.8.1

发这里,方便Google没有查到的朋友,通过这次问题,我发现我解决问题的习惯性错误:"先不去官方找解决方案,白搜索半天浪费不少时间还是没有解决,个人认为,这解决问题的思路好像是反了".

最后,谢谢大家批评.

参考:https://github.com/Maatwebsite/Laravel-Exc...

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2
Summer

哈哈, 记录贴 :+1:

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!