| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php/** * Created by PhpStorm. * User: Administrator * Date: 2019/9/24 0024 * Time: 13:38 */namespace App\Exports;use Maatwebsite\Excel\Concerns\FromArray;use Maatwebsite\Excel\Concerns\Exportable;use Maatwebsite\Excel\Concerns\ShouldAutoSize;//自动宽度use Maatwebsite\Excel\Events\AfterSheet;use Maatwebsite\Excel\Concerns\WithEvents;class ProgressRateExport extends CommonExport implements FromArray, WithEvents//,ShouldAutoSize{    use Exportable;    public $dataList;    public $list;    public function __construct(array $dataList)    {        $this->list = [];        foreach ($dataList as $key => $value) {            if ($key >= 3) {                if (isset($value['info']) && $value['info'] == 1) {                    $this->list[] = 'H' . ($key + 1);                }                if (isset($value['prophase']) && $value['prophase'] == 1) {                    $this->list[] = 'I' . ($key + 1);                }                if (isset($value['data']) && $value['data'] == 1) {                    $this->list[] = 'J' . ($key + 1);                }                if (isset($value['test']) && $value['test'] == 1) {                    $this->list[] = 'K' . ($key + 1);                }                if (isset($value['online']) && $value['online'] == 1) {                    $this->list[] = 'L' . ($key + 1);                }                if (isset($value['is_keywords']) && $value['is_keywords'] == 1) {                    $this->list[] = 'M' . ($key + 1);                }                if (isset($value['is_keywords_map']) && $value['is_keywords_map'] == 1) {                    $this->list[] = 'N' . ($key + 1);                }                if (isset($value['is_tdk']) && $value['is_tdk'] == 1) {                    $this->list[] = 'O' . ($key + 1);                }                if (isset($value['page_planning']) && $value['page_planning'] == 1) {                    $this->list[] = 'P' . ($key + 1);                }                $dataList[$key]['info'] = $value['domain'];                $dataList[$key]['prophase'] = '建站前期';                $dataList[$key]['data'] = '资料';                $dataList[$key]['test'] = '测试站';                $dataList[$key]['online'] = '上线';                $dataList[$key]['is_keywords'] = '关键词初选';                $dataList[$key]['is_keywords_map'] = '关键词地图';                $dataList[$key]['is_tdk'] = 'TDK';                $dataList[$key]['page_planning'] = '页面策划';                unset($dataList[$key]['domain']);            }        }        $this->dataList = $dataList;    }    public function array(): array    {        return $this->dataList;    }    public function registerEvents(): array    {        return [            AfterSheet::class => function (AfterSheet $event) {                $cells = ['A1:P1', 'A2:H2', 'I2:L2', 'M2:P2'];                $this->setCellWidth($event, $cells);                $cells[] = 'A3:P3';                $this->setCellColor($cells, $event);//表头                $this->setCellColorBorders($cells, $event);                $this->setCellColor($this->list, $event, '87CEFA');            }        ];    }}
 |