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

Laravel 5.2使用maatwebsite/excel ~2.1.0读取Xlsx文件返回空数据求助

Laravel 5.2 + maatwebsite/excel ~2.1.0读取Xlsx返回空的解决思路

排查方向与解决步骤

1. 验证文件路径与权限

先确认$filePathNew是绝对路径,且服务器进程具备该文件的读取权限。可以通过以下代码验证:

if (!file_exists($filePathNew)) {
    dd('文件不存在');
}
if (!is_readable($filePathNew)) {
    dd('无文件读取权限');
}

2. 修正代码逻辑

你原代码中连续调用get()和all()属于冗余操作,且2.1版本中需注意读取器的调用方式。如果文件包含多个工作表,需明确指定目标表:

Excel::load($filePathNew, function($reader) {
    // 读取第一个工作表的数据(索引从0开始)
    $reader->sheet(0, function($sheet) {
        $results = $sheet->all();
        dd($results);
    });
});

或者直接获取所有工作表数据:

Excel::load($filePathNew, function($reader) {
    $allData = $reader->get();
    dd($allData);
});

3. 检查文件格式与内容

确保Xlsx文件非空,且数据格式符合读取要求:

  • 确认第一行是表头(扩展包默认将第一行识别为字段名)
  • 文件未损坏,可手动打开验证数据存在

4. 确认依赖环境

maatwebsite/excel ~2.1.0依赖PHPExcel,需确保:

  • vendor目录下存在phpoffice/phpexcel(可通过composer install重新安装依赖)
  • PHP已开启zip扩展(读取Xlsx格式必须依赖该扩展)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:41:20