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

Laravel中如何移除Maatwebsite/Excel的标题键及首行数字?

解决Laravel中Maatwebsite/Excel的两个导出问题

先提个小细节:你当前的foreach循环里,每次都会把$data覆盖成单个一维数组,最后导出的只会是最后一条数据,得先把数据整理成二维数组,才能导出完整的多行内容。

接下来逐个解决你的问题:

1. 移除导出时的heading key

fromArray方法默认会把数组的键作为表头(heading),如果不需要表头,只需要在调用fromArray时,把控制表头生成的参数设为false即可。

2. 移除导出表格首行的数字

你说的首行数字大概率是因为数据格式不对导致的数组索引显示。只要确保传入fromArray的是二维数组,再结合上面的表头控制,就能彻底解决这个问题。

修正后的完整代码

// 先正确整理数据为二维数组
$exportData = [];
foreach ($rows as $row) {
    $exportData[] = [
        $row['user_name'],
        $row['full_name'],
        $row['address'],
        $row['phone_number']
    ];
}

return Excel::create('export_excel', function ($excel) use ($exportData) {
    $excel->sheet('mySheet', function ($sheet) use ($exportData) {
        // 最后一个参数设为false,关闭表头生成;传入二维数组确保每行对应一条数据
        $sheet->fromArray($exportData, null, 'A1', false, false);
    });
})->download('xlsx');

补充说明

fromArray的参数逻辑:fromArray($source, $nullValue = null, $startCell = 'A1', $strictNullComparison = false, $headingGeneration = true),我们把最后一个参数$headingGeneration设为false,就能完全移除表头(heading key);同时用二维数组存储数据,避免出现索引数字作为首行内容的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:58:11