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没有查到的朋友,通过这次问题,我发现我解决问题的习惯性错误:"先不去官方找解决方案,白搜索半天浪费不少时间还是没有解决,个人认为,这解决问题的思路好像是反了".
最后,谢谢大家批评.
哈哈, 记录贴 :+1: