【问题标题】:Formatting exported excel file in laravel在laravel中格式化导出的excel文件
【发布时间】: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


    【解决方案1】:

    你快到了。

    // null if cell range not found
    $cellsToChange = $event->sheet->getDelegate()->getStyle($cellRange);
    
    if ($cellsToChange) {
        $cellToChange->applyFromArray($styleArray);
    }
    
    

    应该做的伎俩。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      相关资源
      最近更新 更多