Laravel Excel 下载合并单元格

Laravel Excel 下载合并单元格

总是被固有思维拌出的我,今天冲出了舒适区解决这个合并单元格的问题。

需求如下
Laravel Excel 下载合并单元格_第1张图片

在各大网站搜索总是找不到合适的处理方式,最后翻了好久终于找到了。说啥都得记录一下。话不多少上代码

public function exportExcel() 
        //$course_list 需要打印的课程列表
        $course_list = [];
        $filename = '结算账单' . date('Y-m-d H_i');
        Excel::create($filename, function($excel) use ($course_list) {
            $data[] = ["结算账单"];
            $data[] = ['收入来源:课程结算'];
            $data[] = ['结算周期:2019.09-2019.10';
            $data[] = ['结算时间:2019.09.25'];
            $data[] = ['课程名称', '课程ID','主讲人','主讲人uid','价格(¥)', '会员总数', '获利金额(¥)'];

            foreach ($course_list as $key=>$course) {
                $data[] = $item_info;
            }

            $excel->sheet('课程结算账单', function ($sheet) use ($data, $width_list) {
                //第一行到第四行合并单元格
                $sheet->mergeCells("A1:G1");
                $sheet->mergeCells("A2:G2");
                $sheet->mergeCells("A3:G3");
                $sheet->mergeCells("A4:G4");

                //第一行标题居中、加粗、设置字符大小
                $sheet->cells("A1:G1", function ($cells) {
                    $cells->setAlignment('center');
                    $cells->setFontWeight('bold');
                    $cells->setFontSize(20);
                });

                //子标题文字居中、背景色设置、加粗
                $sheet->cells("A5:G5", function($cells) {
                    $cells->setAlignment('center');
                    $cells->setBackground('#C8EAFF');
                    $cells->setFontWeight('bold');
                    $cells->setFontSize(16);
                });

                //剩下单元格设置
                $sheet->fromArray($data, null, 'A1', false, false)->setFontSize(16);
            });

        })->export('xlsx');
    }

再次感谢前人的文档贡献,让我解决了问题。这是一个很好的原创文档,特别感谢。
想要学习参考那篇文章猛点这里

你可能感兴趣的:(技术分享)