如何下载 Excel 模板在 Laravel Excel 3.1 中仅显示标题?

Abi*_*gPj 2 excel export-to-excel laravel laravel-excel laravel-6

美好的一天,伙计们,..我需要下载一个仅显示标题的 Excel 模板,..

我的问题的 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');
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此输入图像描述

我想要在 laravel-excel 版本 3.1 上实现

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

有人可以帮助我吗?谢谢。对不起我的英语语法。

Rem*_*mul 5

文档应该非常清楚,这里甚至有一个快速入门指南

但您可以执行以下操作:

生成导出类

php artisan make:export CoursesTemplateExport
Run Code Online (Sandbox Code Playgroud)

将类更改为以下内容:

<?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'
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

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

在你的控制器中:

use App\Exports\CoursesTemplateExport;

public function downloadCoursesTemplate()
{
    return Excel::download(new CoursesTemplateExport(), 'Courses.xlsx');
}
Run Code Online (Sandbox Code Playgroud)

这将产生以下 excel:

在此输入图像描述