导出 Excel

文档

文档:https://laravel-excel.com/
github:https://github.com/SpartnerNL/Laravel-Excel

安装

Laravel-Excel
composer require maatwebsite/excel

导出单表

$header = ['列1', '列2', '列3', '列4'];
$data   = [
    [
        '列1' => '数据1',
        '列2' => '数据2',
        '列3' => '数据3',
        '列4' => '数据4',
    ],
    [
        '列1' => '数据1',
        '列2' => '数据2',
        '列3' => '数据3',
        '列4' => '数据4',
    ],
    [
        '列11' => '12345678901234567890',
        '列21' => '12345678901234567891',
        '列03' => '12345678901234567892',
        '列04' => '12345678901234567893',
    ],
];
$export = \zxf\Office\Excel\Export::init($data, $header);
return $export->setSheetName('表1')
    ->setStyles(function ($sheet) {
        // 合并单元格 A1 到 C1
        $sheet->mergeCells('A1:C1');
        // 再设置居中
        $sheet->getStyle('A1')->getAlignment()->setHorizontal('center');

        // 设置单元格样式,例如水平居中
        // 设置 B4 单元格的样式为加粗、斜体和黄色背景
        $sheet->getStyle('B4')->getAlignment()->setHorizontal('center')->applyFromArray([
            'font' => [
                'bold'   => true, // 加粗
                'italic' => true, // 斜体
                'color'  => ['argb' => 'FF0000'], // 红色文字
            ],
            'fill' => [
                'fillType' => 'solid',
                'color'    => ['argb' => 'FFFF00'], // 黄色背景
            ],
        ]);
    })
    ->download('表_'.date('YmdHis'));

导出多表

$sheetData = [
    [
        'header'  => ['列1', '列2', '列3', '列4'],
        'data'  => [
            ['数据1', '数据2', '数据3', '数据4'],
            ['数据1', '数据2', '数据3', '数据4'],
        ],
        'title' => '表1',
    ],
    [
        'header'  => ['列1', '列2', '列3', '列4', '列5'],
        'data'  => [
            [
                '12345678901234567890',
                '12345678901234567891',
                '12345678901234567892',
                '12345678901234567893',
                '12345678901234567894',
            ],
            [
                '22345678901234567890',
                '22345678901234567891',
                '22345678901234567892',
                '22345678901234567893',
                '22345678901234567894',
            ],
            [
                '32345678901234567890',
                '32345678901234567891',
                '32345678901234567892',
                '32345678901234567893',
                '32345678901234567894',
            ],
            [
                '42345678901234567890',
                '42345678901234567891',
                '42345678901234567892',
                '42345678901234567893',
                '42345678901234567894',
            ],
        ],
        'title' => '表2',
    ],
];
return \zxf\Office\Excel\SheetsExport::download($sheetData, $filename = '多sheet表.xlsx');