Laravel-excel: 3.0 ๋ฒ„์ „์—์„œ ์…€ ๋ณ‘ํ•ฉ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 09์›” 24์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Maatwebsite/Laravel-Excel

๋ฒ„์ „

  • PHP ๋ฒ„์ „ : 7.2
  • ๋ผ ๋ผ๋ฒจ ๋ฒ„์ „ : 5.6
  • ํŒจํ‚ค์ง€ ๋ฒ„์ „ : 3.0

๊ธฐ์ˆ 

์žฌํ˜„ ๋‹จ๊ณ„

๊ณต์šฉ ํ•จ์ˆ˜ machinesExport ()
{

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

๋‚ด ๊ธฐ๊ณ„ ์ˆ˜์ถœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค

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 ์…€์„ ๋ณ‘ํ•ฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์บ”ํŠธ ๋ฐ colspan ๋ฐ ํ–‰ ๋ฒ”์œ„๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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 ๋“ฑ๊ธ‰