data = $data; } /** * @return Builder */ public function collection() { $data = $this->data; $rows = [ ['赤壁市解除医学观察证明书', '', '','','',''], ['姓名', $data[0], '性别', $data[1],'联系电话',$data[3]], ['身份证号', strval($data[2]).' ', '', '', '', ''], ['解除隔离目的地', $data[4], '', '', '', ''], ['隔离观察地点', '赤壁市铜锣湾酒店集中隔离医学观察点', '', '', '', ''], ['观察时间', '2022年6月7日至2022年6月13日', '','','',''], ['是否接触', '否', '解除单位', '赤壁市铜锣湾酒店集中隔离医学观察点', '', ''], ['负责人签字', '', '(盖章)', '','',''], ['赤壁市新型冠状病毒感染的肺炎防控指挥部 (存根联)', '','','','',''], ['', '', '','','',''], ['赤壁市解除医学观察证明书', '', '','','',''], ['姓名', $data[0], '性别', $data[1],'联系电话',$data[3]], ['身份证号', strval($data[2]).' ', '', '', '', ''], ['解除隔离目的地', $data[4], '', '', '', ''], ['隔离观察地点', '赤壁市铜锣湾酒店集中隔离医学观察点', '', '', '', ''], ['观察时间', '2022年6月7日至2022年6月11日', '','','',''], ['是否接触', '否', '解除单位', '赤壁市铜锣湾酒店集中隔离医学观察点', '', ''], ['负责人签字', '', '(盖章)', '','',''], ['赤壁市新型冠状病毒感染的肺炎防控指挥部 (出具联)', '','','','',''], ]; return collect($rows); } public function registerEvents(): array { return [ AfterSheet::class => function(AfterSheet $event) { //设置列宽 $arr = ['A','B','C','D','E','F']; foreach ($arr as $value) { $event->sheet->getDelegate()->getColumnDimension($value)->setWidth(20); } //设置行高,$i为数据行数 for ($i = 0; $i<=1265; $i++) { $event->sheet->getDelegate()->getRowDimension($i)->setRowHeight(30); } //设置区域单元格垂直居中 $event->sheet->getDelegate()->getStyle('A1:K1265')->getAlignment()->setVertical('center'); //设置区域单元格水平居中 $event->sheet->getDelegate()->getStyle('A1:F8')->getAlignment()->setHorizontal('center'); $event->sheet->getDelegate()->getStyle('A11:F18')->getAlignment()->setHorizontal('center'); //设置区域单元格字体、颜色、背景等,其他设置请查看 applyFromArray 方法,提供了注释 $event->sheet->getDelegate()->getStyle('A1:F9')->applyFromArray([ 'borders'=> [ 'allBorders' => [ 'borderStyle' =>'thin', ] ] ]); $event->sheet->getDelegate()->getStyle('A11:F19')->applyFromArray([ 'borders'=> [ 'allBorders' => [ 'borderStyle' =>'thin', ] ] ]); $event->sheet->getDelegate()->getStyle('1')->applyFromArray([ 'font' => [ 'name' => 'Arial', 'bold' => true, 'italic' => false, 'strikethrough' => false, 'size' => 20, 'color' => [ 'rgb' => '000000' ], ], // 'fill' => [ // 'fillType' => 'linear', //线性填充,类似渐变 // 'rotation' => 45, //渐变角度 // 'startColor' => [ // 'rgb' => '000000' //初始颜色 // ], // //结束颜色,如果需要单一背景色,请和初始颜色保持一致 // 'endColor' => [ // 'argb' => 'FFFFFF' // ] // ], ]); $event->sheet->getDelegate()->getStyle('2:9')->applyFromArray([ 'font' => [ 'name' => 'Arial', 'bold' => false, 'italic' => false, 'strikethrough' => false, 'size' => 12, 'color' => [ 'rgb' => '000000' ], ], ]); $event->sheet->getDelegate()->getStyle('11')->applyFromArray([ 'font' => [ 'name' => 'Arial', 'bold' => true, 'italic' => false, 'strikethrough' => false, 'size' => 20, 'color' => [ 'rgb' => '000000' ] ], ]); $event->sheet->getDelegate()->getStyle('12:19')->applyFromArray([ 'font' => [ 'name' => 'Arial', 'bold' => false, 'italic' => false, 'strikethrough' => false, 'size' => 12, 'color' => [ 'rgb' => '000000' ], ], ]); //合并单元格 $event->sheet->getDelegate()->mergeCells('A1:F1'); // $event->sheet->getDelegate()->mergeCells('B2:F2'); $event->sheet->getDelegate()->mergeCells('B3:F3'); $event->sheet->getDelegate()->mergeCells('B4:F4'); $event->sheet->getDelegate()->mergeCells('B5:F5'); $event->sheet->getDelegate()->mergeCells('B6:F6'); $event->sheet->getDelegate()->mergeCells('D7:F7'); $event->sheet->getDelegate()->mergeCells('C8:F8'); $event->sheet->getDelegate()->mergeCells('A9:F9'); $event->sheet->getDelegate()->mergeCells('A11:F11'); $event->sheet->getDelegate()->mergeCells('B13:F13'); $event->sheet->getDelegate()->mergeCells('B14:F14'); $event->sheet->getDelegate()->mergeCells('B15:F15'); $event->sheet->getDelegate()->mergeCells('B16:F16'); $event->sheet->getDelegate()->mergeCells('D17:F17'); $event->sheet->getDelegate()->mergeCells('C18:F18'); $event->sheet->getDelegate()->mergeCells('A19:F19'); } ]; } /** * @return string */ public function title(): string { return ($this->data)[0].'__sheet'; } }