轉自 http://www.hu-rong.com/article/432

--

 

require_once 目錄名(__FILE__) 。'/../library/PHPExcel-1.8/Classes/PHPExcel.php';
        $objPHPExcel = new \PHPExcel();
        $objPHPExcel->setActiveSheetIndex(0);
        //AI列,垂直居中
        $objPHPExcel->getActiveSheet()->getStyle('A:I')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
        //設置列寬
        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(16);
        $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(30);
// //設置默認行高:但是下面合併了單元格修飾
// $objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(26);
// //設置第一行的高度
// $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(40);
        $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(40);
        $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(6);
        $objPHPExcel->getActiveSheet()->getRowDimension('4')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('5')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('6')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('7')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('8')->setRowHeight(26);
        $objPHPExcel->getActiveSheet()->getRowDimension('9')->setRowHeight(26);
        //合併列
        $objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
        $objPHPExcel->getActiveSheet()->mergeCells('D1:I1');
        //設置字體大小及加粗
        $objPHPExcel->getActiveSheet()->setCellValue('A1', '週工作報表')
            ->getStyle('A1')->getFont()->setSize(24)->setBold(true);
        $objPHPExcel->getActiveSheet()->setCellValue('D1', '開始日期: 2019-04-08 結束日期: 2019-04-14');

        $objPHPExcel->getActiveSheet()->mergeCells('A2:B2');
        $objPHPExcel->getActiveSheet()->setCellValue('A2', '部門:技術部');
        $objPHPExcel->getActiveSheet()->mergeCells('C2:D2');
        $objPHPExcel->getActiveSheet()->setCellValue('C2', '姓名:胡熔');
        $objPHPExcel->getActiveSheet()->mergeCells('E2:F2');
        $objPHPExcel>getActiveSheet()->setCellValue,'E2','-'調用:php');
        $objPHPExcel->getActiveSheet()->mergeCells('G2:I2');
        $objPHPExcel->getActiveSheet()->setCellValue('G2', '填表日期:2019-04-11');

        $objPHPExcel->getActiveSheet()->mergeCells('A3:I3');
        //設置背景顏色
        $objPHPExcel->getActiveSheet()->getStyle('A3')->applyFromArray(
            大批(
                '填充' => 數組(
                    '類型' => \PHPExcel_Style_Fill::FILL_SOLID,
                    '顏色' => 數組('rgb' => 'eeeeee')
                )
            )
        );

        $objPHPExcel->getActiveSheet()->setCellValue('A4', '週總結');
        $objPHPExcel->getActiveSheet()->setCellValue('B4', '工作內容描述');
        $objPHPExcel->getActiveSheet()->setCellValue('C4', '計劃完成時間');
        $objPHPExcel->getActiveSheet()->setCellValue('D4', '最後完成時間');
        $objPHPExcel->getActiveSheet()->setCellValue('E4', '完成狀態');
        $objPHPExcel->getActiveSheet()->setCellValue('F4', '未完成原因分析');
        $objPHPExcel->getActiveSheet()->setCellValue('G4', '責任人');
        $objPHPExcel->getActiveSheet()->setCellValue('H4', '幫助人');
        $objPHPExcel->getActiveSheet()->setCellValue('I4', '備註');



        
    $objPHPExcel->getActiveSheet()->setTitle('週工作報表');
        $filename="工作週報_{$user['Name']}_第{$weekly['Week']}週.xls";
        //生成文件
// $objPHPExcel->setActiveSheetIndex(0);
// $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
// $objWriter->save(str_replace('.php', '.xlsx', __FILE__));

        //直接從瀏覽器下載
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.$filename.'"');
        header('緩存控制:max-age=0');
        header('緩存控制:max-age=1');
        header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // 過去的日期
        標頭('上次修改:'.gmdate('D,d M Y H:i:s')。' GMT');// 總是修改
        標頭('緩存控制:緩存,必須重新驗證');// HTTP/1.1
        header ('Pragma: public'); // HTTP/1.0

        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        出口;

 

效果如下:


--

arrow
arrow
    全站熱搜

    dizzy03 發表在 痞客邦 留言(0) 人氣()