如何下载 excel 模板在 Laravel Excel 3.1 中只显示 header?

How to download excel template will display with only header in Laravel Excel 3.1?

大家好,..我需要下载一个 excel 模板只显示 headers,..

我的问题的 laravel-excel 版本 2 中有良好且有效的功能代码。但在 3.1 版中我不知道如何编码。

这是我在版本 2 中的代码;

public function downloadCoursesTemplate()
{
    $columns = array(
        'Course Code',
        'Course Description',
        'Status'
    );

    return Excel::download('Courses', function ($excel) use ($columns) {
        $excel->sheet('Courses', function ($sheet) use ($columns) {
            $sheet->fromArray($columns);
        });
    })->export('xlsx');
}

这是输出:

我想要 laravel-excel 版本 3.1

有新版本的文档,但我找不到它来解决我的问题。

有人能帮帮我吗?谢谢。对不起我的英语语法。

文档应该很清楚,甚至还有快速入门指南here

但是您可以执行以下操作:

生成导出 class

php artisan make:export CoursesTemplateExport

将 class 更改为以下内容:

<?php

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\WithHeadings;

class CoursesTemplateExport implements FromArray, WithHeadings
{
    /**
     * @return array
     */
    public function array(): array
    {
        return [];
    }

    /**
     * @return array
     */
    public function headings(): array
    {
        return [
            'Course Code',
            'Course Description',
            'Status'
        ];
    }
}

我们可以实现 FromArray 接口,这样我们就可以 return 一个空数组,因为我们没有任何数据,我们可以实现 WithHeadings 接口来声明导出应具有的标题。

在您的控制器中:

use App\Exports\CoursesTemplateExport;

public function downloadCoursesTemplate()
{
    return Excel::download(new CoursesTemplateExport(), 'Courses.xlsx');
}

这将导致以下 excel: