Laravel Excel 3.1+ 必须通过 Composer 安装且仅兼容 Laravel 5.5+,PHP ≥ 7.2.5;Laravel 10+ 需用 4.0+ 版本(PHP ≥ 8.1);安装后必须执行 vendor:publish 导出配置,否则易出现中文乱码、缓存 tags 不支持等问题。

Laravel Excel 3.1+ 版本必须通过 Composer 安装,且不兼容 Laravel 5.5 以下版本 —— 如果你用的是 Laravel 5.4 或更早,直接放弃该包,改用 maatwebsite/excel 的 2.1 分支(已停止维护,但能跑)。
确认 Laravel 版本和 PHP 版本匹配
Composer 安装失败的绝大多数情况,其实是版本冲突。Laravel Excel 3.1 要求:
- PHP ≥ 7.2.5(
php -v检查) - Laravel 5.5–9.x(对应
maatwebsite/excel3.1.x) - Laravel 10+ 必须用
maatwebsite/excel4.0+(PHP ≥ 8.1)
执行前先运行:
php -v && php artisan --version,再查对应版本的 官方兼容表,别凭印象硬装。
运行 composer require 命令(带版本约束)
不加版本号容易拉到不兼容的预发布版或高版本,导致 Class 'Maatwebsite\Excel\ExcelServiceProvider' not found 等报错。按你的 Laravel 版本选命令:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- Laravel 5.5–5.8:
composer require maatwebsite/excel:^3.1
- Laravel 6–9:
composer require maatwebsite/excel:^3.1.39
(3.1.39 是 3.x 最后稳定版) - Laravel 10+:
composer require maatwebsite/excel:^4.0
注意:Laravel 5.5+ 自动发现(auto-discovery),ExcelServiceProvider 不用手动注册;若关闭了 auto-discovery,才需在 config/app.php 的 providers 数组里加 Maatwebsite\Excel\ExcelServiceProvider::class。
安装后必须发布的配置和文件
只跑 composer require 不够,导出样式、缓存、队列等行为依赖配置文件。执行:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
这会生成 config/excel.php。常见疏漏点:
- 没发布配置 → 导出 CSV 时中文乱码(默认编码是
ISO-8859-1),需手动改'csv' => ['delimiter' => ',', 'enclosure' => '"', 'encoding' => 'UTF-8'] - 用了
WithChunkReading但没配缓存驱动 → 报Cache store [xxx] does not support tags,要确保CACHE_DRIVER=redis或database(file 不支持 tags) - 队列导入时提示
Class App\Imports\UsersImport does not exist→ 检查命名空间是否为App\Imports,且类名与文件名一致(如UsersImport.php里是class UsersImport)
真正卡住的地方往往不是命令输错,而是 config 没发布、编码没调、缓存驱动不支持 tags —— 这些问题不会在 composer install 阶段报错,而是在第一次调用 Excel::import() 或 Excel::export() 时才暴露。

















