Laravel-excel: セルのマージは3.0バージョンでは機能しません

作成日 2018年09月24日  ·  3コメント  ·  ソース: Maatwebsite/Laravel-Excel

バージョン

  • PHPバージョン:7.2
  • Laravelバージョン:5.6
  • パッケージバージョン:3.0

説明

再現する手順

パブリック関数machineryExport()
{{

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

私のmachineryexportは次のようになります

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');
    }
}

セルA1とA2をマージしたいのですが、カントとコルスパンと行スパンも機能しません

question

最も参考になるコメント

ねえ@kevinRR 、この構文はどこで見つけましたか? 3.0にはmergeCellsメソッドがなく、Laravelのview()ヘルパーにもありません。

パッケージの現在の状態では、拡張ドキュメント(https://laravel-excel.maatwebsite.nl/3.0/exports/extending.html#events)に従い、ネイティブの->mergeCells('A1:E1')メソッドを使用する必要がありますPhpSpreadsheetの。 AfterSheetイベントはあなたが探しているものです。

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

全てのコメント3件

ねえ@kevinRR 、この構文はどこで見つけましたか? 3.0にはmergeCellsメソッドがなく、Laravelのview()ヘルパーにもありません。

パッケージの現在の状態では、拡張ドキュメント(https://laravel-excel.maatwebsite.nl/3.0/exports/extending.html#events)に従い、ネイティブの->mergeCells('A1:E1')メソッドを使用する必要がありますPhpSpreadsheetの。 AfterSheetイベントはあなたが探しているものです。

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

これは私のエクスポートファイルなので、エクスポートファイルからビューに渡しながらセルをマージするにはどうすればよいですか?

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

以前のコメントで解決策を示しました。

このページは役に立ちましたか?
0 / 5 - 0 評価