You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel5.5与maatwebsite/excel~2.1.0环境下替换phpoffice/phpexcel为phpspreadsheet

解决Laravel 5.5 + maatwebsite/excel 2.1.x下PHPExcel废弃提示的方案

我完全懂你的困扰——升级到maatwebsite/excel 3.x在Laravel 5.5环境下适配成本太高,而继续用2.1.x版本又被Composer不停提示依赖的PHPExcel已废弃。别慌,这里有几个实用的解决办法,帮你继续稳定使用现有版本:

方案1:临时忽略废弃警告完成安装

如果只是安装时的警告让你头疼,可以直接在执行Composer命令时加上忽略废弃警告的参数:

composer install --no-deprecation-warnings

如果你的Composer版本较旧,可能需要用--no-warning参数替代:

composer install --no-warning

这个方法能快速跳过警告,顺利完成依赖安装,但每次执行Composer命令都需要加这个参数。

方案2:锁定PHPExcel版本并强制声明依赖

maatwebsite/excel 2.1.x原本依赖的是phpoffice/phpexcel: ~1.8,你可以直接在composer.json的require段里明确声明这个依赖,让Composer优先安装指定版本,即使它被标记为废弃:

"require": {
    "laravel/framework": "5.5.*",
    "maatwebsite/excel": "~2.1.0",
    "phpoffice/phpexcel": "~1.8.0"
}

修改后执行:

composer update phpoffice/phpexcel

或者直接重新执行composer install,这样Composer会明确安装你指定的PHPExcel版本,虽然还是会有废弃提示,但不会阻止安装流程。

方案3:尝试用PhpSpreadsheet兼容层(备选,需测试)

PhpSpreadsheet作为PHPExcel的替代项目,提供了一定的API兼容性。你可以尝试用Composer的replace指令,把PHPExcel的依赖替换为PhpSpreadsheet:

"replace": {
    "phpoffice/phpexcel": "*"
},
"require": {
    "maatwebsite/excel": "~2.1.0",
    "phpoffice/phpspreadsheet": "^1.18"
}

修改后执行composer install,这个方法可能会解决废弃提示,但要注意:maatwebsite/excel 2.1.x是针对PHPExcel开发的,部分功能可能和PhpSpreadsheet存在细微差异,一定要在测试环境充分验证后再部署到生产环境。

重要提醒

虽然以上方法能让你继续使用现有版本,但PHPExcel已经停止维护,存在潜在的安全漏洞和兼容性问题。如果之后有时间,还是建议逐步规划迁移到maatwebsite/excel 3.x,或者考虑其他兼容Laravel 5.5的Excel处理库。

内容的提问来源于stack exchange,提问作者user9460187

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:25:52