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

标签 excel laravel export-to-excel laravel-6 laravel-excel

大家好,..我需要下载一个仅显示标题的 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');
}

这是输出:

enter image description here

我希望在 laravel-excel 3.1 版本上实现这一点

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

有人可以帮助我吗?谢谢。抱歉我的英语语法。

最佳答案

文档应该非常清晰,甚至还有快速入门指南 here

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

生成导出类

php artisan make:export CoursesTemplateExport

将类更改为以下内容:

<?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 接口(interface),这样我们就可以返回一个空数组,因为我们没有任何数据,并且我们可以实现 WithHeadings 接口(interface)来声明导出应具有的标题。

在你的 Controller 中:

use App\Exports\CoursesTemplateExport;

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

这将产生以下 Excel:

enter image description here

关于excel - 如何下载 Excel 模板在 Laravel Excel 3.1 中仅显示标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62690879/

相关文章:

excel - 从 Excel 粘贴到 Word 文档

vba - 如何创建动态变量名VBA

asp.net - 如何将大数据导出到Excel

jsf - 将 OutputStream 发送到浏览器并让浏览器保存它

vba - 使用 =COLUMN 函数从表中返回列号

即使编码了密码后,Excel VBA 仍然提示输入密码

php - Laravel 5.2 - 将值插入用户列不起作用

javascript - 跳转到视频中的某个点

php - Laravel 分页与数据表性能

php - 如何打印mysql报告并导出到excel