【发布时间】:2019-09-09 10:05:41
【问题描述】:
我使用 maatwebsite/excel 包从数据库表中生成 excel 文件。导出成功,但我需要一些帮助来格式化它。
事实上,我希望 excel 的标题、突出显示的标题和边框具有更大的字体。
到目前为止,我只成功地使用 setSize() 创建了更大尺寸的标题字体,正如您在我的代码摘录中看到的那样。
我的导出文件(\laravel\app\Exports\MembersExport.php)如下:
<?php
namespace App\Exports;
use App\Member;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
class MembersExport implements FromCollection, WithHeadings, ShouldAutoSize, WithEvents
{
public function collection()
{
return Member::all();
}
public function headings(): array
{
return
[
'head1',
'head2',
'head3',
'head4',
'head5',
'head6',
'head7',
];
}
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event)
{
$cellRange = 'A1:G1'; // All headers
$event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setName('Calibri');
$event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(14);
},
];
}
}
我想将以下内容集成到上面的代码中。请问你能帮帮我吗?
$styleArray = [
'borders' => [
'outline' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,
'color' => ['argb' => 'FFFF0000'],
],
],
];
$worksheet->getStyle('A1:G1')->applyFromArray($styleArray);
【问题讨论】:
标签: excel laravel formatting export