| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- <?php
 
- namespace App\Exports;
 
- use Illuminate\Support\Collection;
 
- use Illuminate\Support\Facades\Redis;
 
- use Maatwebsite\Excel\Concerns\FromCollection;
 
- use Maatwebsite\Excel\Concerns\WithEvents;     // 自动注册事件监听器
 
- use Maatwebsite\Excel\Concerns\WithStrictNullComparison;    // 导出 0 原样显示,不为 null
 
- use Maatwebsite\Excel\Events\AfterSheet;
 
- class CommonExport implements FromCollection, WithEvents, WithStrictNullComparison
 
- {
 
-     public $data;
 
-     /**
 
-      * @return \Illuminate\Support\Collection
 
-      */
 
-     public function __construct($data)
 
-     {
 
-         $this->data = $data;
 
-     }
 
-     public function registerEvents(): array
 
-     {
 
-         //这边处理数据格式
 
-         //关于表单的合并
 
-         $params = $this->data['params'];
 
-         $style = [
 
-             AfterSheet::class => function (AfterSheet $event) use($params) {
 
-                 $count = count($this->data['data']);
 
-                 //设置区域单元格水平居中
 
-                 $event->sheet->getDelegate()->getStyle('A1:'.'BZ'.($count+1))->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
 
-                 //合并相关
 
-                 $merge = $params['merge'];
 
-                 $event->sheet->getDelegate()->setMergeCells($merge);
 
-             },
 
-         ];
 
-         return $style;
 
-     }
 
-     //数组转集合
 
-     public function collection()
 
-     {
 
-         return new Collection($this->createData());
 
-     }
 
-     //业务代码
 
-     public function createData()
 
-     {
 
-         $data = $this->export();
 
-         return $data;
 
-     }
 
-     private function export(){
 
- //        var_dump($this->data);die;
 
-         $data = $this->data['data'];
 
-         $list = [];
 
-         foreach ($data as $v){
 
-             $list[] = $v;
 
-         }
 
-         return $list;
 
-     }
 
- }
 
 
  |