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

Laravel导出Excel文件:求推荐支持模板的最佳类库

问对了!在Laravel生态里做带模板的Excel导出,Maatwebsite/Laravel-Excel绝对是首选——这玩意儿我在大大小小十几个项目里都用过,处理模板导出的需求简直得心应手,社区活跃度和文档完善度都拉满。

首选:Maatwebsite/Laravel-Excel
  • 核心亮点:完全贴合Laravel的开发习惯,支持XLSX、CSV、ODS等几乎所有主流Excel格式,模板导出是它的核心功能之一,能轻松实现固定表头、合并单元格、预定义样式这类复杂需求,不用从零开始写样式代码。
  • 模板导出快速上手示例:
    1. 先准备好你的Excel模板(比如user_template.xlsx),可以提前设置好表头样式、合并单元格等,把它放到storage/app/templates目录下。
    2. 创建导出类,实现WithTemplate和FromView接口:
    namespace App\Exports;
    
    use Maatwebsite\Excel\Concerns\FromView;
    use Maatwebsite\Excel\Concerns\WithTemplate;
    use Illuminate\Contracts\View\View;
    
    class UserListExport implements WithTemplate, FromView
    {
        private $users;
    
        // 注入要导出的数据
        public function __construct($users)
        {
            $this->users = $users;
        }
    
        // 指定模板文件路径
        public function template(): string
        {
            return storage_path('app/templates/user_template.xlsx');
        }
    
        // 绑定数据到视图(视图里的变量会自动填充到模板对应位置)
        public function view(): View
        {
            return view('exports.user_list', [
                'users' => $this->users,
                'exportDate' => now()->format('Y-m-d')
            ]);
        }
    }
    
    1. 在控制器里调用导出:
    use App\Exports\UserListExport;
    use Maatwebsite\Excel\Facades\Excel;
    use App\Models\User;
    
    public function exportUsers()
    {
        $userData = User::select('id', 'name', 'email')->get();
        return Excel::download(new UserListExport($userData), 'user_list_' . date('Ymd') . '.xlsx');
    }
    
  • 额外优势:支持队列导出(处理十万级以上数据不卡主线程)、自定义单元格样式、数据格式化,甚至连Excel导入功能也一并支持,相当于一套工具搞定Excel的读写需求。
备选方案:直接基于PhpSpreadsheet封装

如果你的项目需求特别轻量化,不想引入完整的Laravel-Excel包,也可以直接用它的底层依赖PhpSpreadsheet自己封装模板导出逻辑。不过这种方式需要自己处理Laravel的集成细节,适合有一定PhpSpreadsheet使用经验的开发者,毕竟Laravel-Excel已经帮我们省了很多重复工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:31:32