Laravel Excel(maatwebsite/excel 3.1)导出数据时表头样式不生效
maatwebsite/excel 3.1 表头样式不生效的解决方案
针对你遇到的表头样式不生效问题,可尝试以下几种调整方式:
1. 选中完整表头区域设置样式
当前代码仅给A1单元格设置样式,而你的表头涵盖6列(A1到F1),修改styles方法,选中整个表头行:
public function styles(Worksheet $sheet) { // 为表头所有单元格设置加粗样式 $sheet->getStyle('A1:F1')->applyFromArray([ 'font' => [ 'bold' => true, ], ]); }
2. 使用行索引返回样式数组
另一种更简洁的写法是直接返回样式数组,指定表头行(第1行)的样式:
public function styles(Worksheet $sheet) { return [ // 第1行(表头)设置加粗 1 => ['font' => ['bold' => true]], ]; }
3. 检查导出调用逻辑
确保在控制器中正确调用导出类,示例:
use App\Exports\AccessStatusExport; use Maatwebsite\Excel\Facades\Excel; public function export() { $contents = // 你的数据集合 return Excel::download(new AccessStatusExport($contents), 'access_status.xlsx'); }
额外排查点
- 确认没有其他导出相关的Trait(如
WithMapping)干扰表头渲染 - 检查PhpSpreadsheet依赖版本是否与maatwebsite/excel 3.1兼容(该版本会自动适配,一般无需手动调整)
内容的提问来源于stack exchange,提问作者subash
相关产品推荐
相关产品推荐

