【问题标题】:Export Excel from blade view in Laravel从 Laravel 的刀片视图中导出 Excel
【发布时间】:2019-04-23 01:12:17
【问题描述】:

我想使用 Laravel Excel 从 Blade 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>

怎么了?

【问题讨论】:

    标签: php excel laravel


    【解决方案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');
    

    检查这是否适用于您的情况。

    【讨论】:

    • 知道了!谢谢
    • 看起来像这样吗? public function view(): View { return view('users.export', ['user' => User::find(request('user_id')) ]); }
    猜你喜欢
    • 2020-09-02
    • 2013-08-03
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 2022-01-05
    • 2013-11-20
    • 1970-01-01
    • 2014-11-24
    相关资源
    最近更新 更多