大家好,..我需要下载一个仅显示标题的 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');
}
这是输出:
我希望在 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:
关于excel - 如何下载 Excel 模板在 Laravel Excel 3.1 中仅显示标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62690879/