Laravel-excel: Merge cell não funciona na versão 3.0

Criado em 24 set. 2018  ·  3Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Versões

  • Versão PHP: 7.2
  • Versão do Laravel: 5.6
  • Versão do pacote: 3.0

Descrição

Passos para reproduzir

Função pública MachineryExport ()
{

    return Excel::download(new MachineryExport, 'machinery.csv');
}

minha exportação de máquinas parece

class MachineryExport implements FromView
{
    /**
     * <strong i="17">@return</strong> \Illuminate\Support\Collection
     */
    public function view(): View
    {
        return view('export.machinery', [
            'equipments' => MachineryEquipment::get()
        ])->mergeCells('A1:E1');
    }
}

Eu quero mesclar as células A1 e A2, mas eu não posso e colspan e span de linha também não funcionou

question

Comentários muito úteis

Ei @kevinRR , onde você encontrou essa sintaxe? 3.0 não tem um método mergeCells e o auxiliar view() do Laravel também não o tem.

No estado atual do pacote, você terá que seguir os documentos de extensão (https://laravel-excel.maatwebsite.nl/3.0/exports/extending.html#events) e usar o método nativo ->mergeCells('A1:E1') da planilha PhpSpreadsheet. O evento AfterSheet é o que você está procurando.

AfterSheet::class => function(AfterSheet $event) {
    $event->sheet->getDelegate()->mergeCells('A1:E1');
 },

Todos 3 comentários

Ei @kevinRR , onde você encontrou essa sintaxe? 3.0 não tem um método mergeCells e o auxiliar view() do Laravel também não o tem.

No estado atual do pacote, você terá que seguir os documentos de extensão (https://laravel-excel.maatwebsite.nl/3.0/exports/extending.html#events) e usar o método nativo ->mergeCells('A1:E1') da planilha PhpSpreadsheet. O evento AfterSheet é o que você está procurando.

AfterSheet::class => function(AfterSheet $event) {
    $event->sheet->getDelegate()->mergeCells('A1:E1');
 },

Este é o meu arquivo de exportação, então como posso mesclar a célula ao passar para a visualização do meu arquivo de exportação

public function view(): View
    {
        return view('export.machinery', [
            'equipments' => MachineryEquipment::get()
        ]);
    }

Eu lhe dei a solução em meu comentário anterior.

Esta página foi útil?
0 / 5 - 0 avaliações