从Laravel的刀片视图导出Excel

时间:2018-11-20 14:50:08

标签: php excel laravel

我想使用Laravel Excel从刀片Laravel视图导出Excel文件,但出现此错误:

Declaration of App\Http\Controllers\ExportController::view($id): Illuminate\Contracts\View\View must be compatible with Maatwebsite\Excel\Concerns\FromView::view(): Illuminate\Contracts\View\View

控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use App\User;


class ExportController implements FromView
{

    public function view($id): View
    {
        return view('users.export', [
            'user' => User::find($id)
        ]);
    }
}

路线

Route::get('exportxls/{id}', 'ExportController@view');

刀片文件

<table>My data is here...</table>

怎么了?

1 个答案:

答案 0 :(得分:1)

由于您正在实施Maatwebsite \ Excel \ Concerns \ FromView,因此您应该覆盖view()而无需任何参数。

public function view(): View
{
    return view('users.export');
}

由于您需要user_id,因此可以尝试将其传递给URL中的函数。类似于:server/exportxls?user_id=2

然后得到它:

$userId = request('user_id');

检查是否适合您的情况。