使用Spreadsheet導出表格時,設置樣式


$spreadsheet = new Spreadsheet();// 初始化

        $spreadsheet->createSheet();// 添加一個sheet

        $sheet = $spreadsheet->getSheet(1);// 操作第二個sheet

        $sheet = $spreadsheet->getActiveSheet();
        // 設置值的三種辦法
        $sheet->setCellValue('E6', 'www.helloweba.net');
        $sheet->getCell('A1')->setValue('John');
        $sheet->setCellValueByColumnAndRow(5, 5, 'hahah');

        $sheet->mergeCellsByColumnAndRow(1, 2,1, 5);// 合並單元格
        $sheet->mergeCells('A1:E1');// 合並單元格

        for ($i=1; $i <= 10; $i++) { 
            $sheet->setCellValue('A'.$i, 'Hello World 加上考慮對方就愛上了對方就撒');// 合並單元格之后這樣可以放進去
            $sheet->setCellValue('B'.$i, 'Hello World 加上考慮對方就愛上了對方就撒');// 合並單元格之后這樣可以放進去
            $sheet->setCellValue('C'.$i, 'Hello World 加上考慮對方就愛上了對方就撒');// 合並單元格之后這樣可以放進去
        }
        
        $sheet->getStyle('A3:C3')->getFont()->setBold(true);// 一定范圍內字體加粗
        $sheet->getStyle('A4:C5')->getFont()->getColor()->setARGB('cc3399');// 字體顏色,使用rgb的顏色格式
        $sheet->getColumnDimension('A')->setWidth(50);// 設置列的寬度
        $sheet->getDefaultColumnDimension()->setWidth(50);//設置默認列寬
        $sheet->getColumnDimension('B')->setAutoSize(true);//自動設置列寬
        $sheet->getRowDimension('1')->setRowHeight(50);//設置行高
        $sheet->getDefaultRowDimension()->setRowHeight(15);// 設置默認行高
        $sheet->getStyle('A2:E2')->getFont()->setSize(14);// 設置字體大小

        $sheet->getStyle('A1:C1')->getAlignment()->setVertical(Alignment::VERTICAL_TOP);// 垂直向上
        $sheet->getStyle('A1:C1')->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('66ccff');// 設置背景色

        $styleArray = [
            'borders' => [
                'outline' => [
                    'borderStyle' => Border::BORDER_THICK,
                    'color' => ['argb' => '3399ff'],
                ],
                'inside' =>[
                    'borderStyle' => Border::BORDER_THIN,
                    'color' => ['argb' => 'cc0000'],
                ]
            ],
        ];
        $sheet->getStyle('A1:C5')->applyFromArray($styleArray);// 外邊框,內邊框

        $styleArray = [
            'borders' => [
                'outline' => [
                    'borderStyle' => Border::BORDER_THICK,
                    'color' => ['argb' => 'FFFF0000'],
                ],
            ],
            'font' => ['bold' => true],
            'alignment' => [
                'horizontal' => Alignment::HORIZONTAL_CENTER,// 水平居中
                'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER //垂直居中
            ],
        ];
        $sheet->getStyle('B2:E8')->applyFromArray($styleArray);// 加粗,水平居中,邊框線顏色

        $sheet->setTitle('就當是標題了');// 當前工作表標題
        
        $sheet->getCell('A4')->setValue("hello\nworld");// 換行

        $sheet->setCellValue('E6', 'www.helloweba.net');
        $sheet->getCell('E6')->getHyperlink()->setUrl('https://www.helloweba.net');// 點擊直接跳轉

        $spreadsheet->getProperties()
        ->setCreator("作者")    //作者
        ->setLastModifiedBy("修改者") //最后修改者
        ->setTitle("這是標題")  //標題
        ->setSubject("這是副標題") //副標題
        ->setDescription("這是描述")  //描述
        ->setKeywords("這是關鍵字") //關鍵字
        ->setCategory("分類"); //分類


        $writer = new Xlsx($spreadsheet);
        $name=rand(10,99);
        $writer->save($name.'.xlsx');// 直接下載到本地文件夾里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM