TP5 excel多表導出

        require_once(VENDOR_PATH .'PHPExcel/PHPExcel.php');//引入PHP EXCEL類
        require_once(VENDOR_PATH .'PHPExcel/PHPExcel/IOFactory.php');//引入PHP EXCEL類
        $objPHPExcel = new \PHPExcel();
        $col = array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
         'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 
         'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 
         'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ' );
        $colEcs = array('部門','項目','實例ID','實例名稱','私有IP','NatIP','EIP',
        'eip帶寬','公網IP','網絡需求','安全組名稱','操作系統','CPU','內存','數據盤','端口',
        '備案號','備案網址','備註');
        $listEcs = array('workUnit','projectName','objectId','serverName','privateId',
'NatIP','EIP','netNum','extranetIp','netType','vpnsafeName','systemNumber',
'cpu','ram','storageNum','port','recordNum','recordWebsite','ecsAbout');

        $colRds = array('部門','項目','實例ID','實例名稱','實例類型','數據庫類型','網絡類型','IOPS',
        '最大使用空間(GB)','最大使用內存(MB)','最大連接數','內網連接地址','內網IP地址','端口號','備註');
        $listRds = array('workUnit','projectName','objectId','serverName','objectType','dbVer','network',
        'IOPS','dbStorage','dbCpu','dbMaxnum','inAddress','inIP','port','rdsAbout');
        $objPHPExcel->getActiveSheet(0)->setTitle('ECS');
        $objPHPExcel->setActiveSheetIndex(0);
        foreach($colEcs as $key=>$v){
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($col[$key].'1',$v);
        }
        foreach($list['ecs'] as $key => $value){
            $key+=2;
            foreach ($listEcs as $listK => $listV) {
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($col[$listK].$key,$value[$listV]);
           }
        }
        for($i=0;$i<count($list['ecs']);$i++){
        $objPHPExcel->getActiveSheet(0)->getColumnDimension($col[$i])->setAutoSize(true);
        }
        $msgWorkSheet = new \PHPExcel_Worksheet($objPHPExcel, 'RDS'); //創建一個工作表
        $objPHPExcel->addSheet($msgWorkSheet); //插入工作表
        $objPHPExcel->setActiveSheetIndex(1);
        foreach($colRds as $key=>$v){
        $objPHPExcel->setActiveSheetIndex(1)->setCellValue($col[$key].'1',$v);
        }
        foreach($list['rds'] as $key => $value){
            $key+=2;
            foreach ($listRds as $listK => $listV) {
            $objPHPExcel->setActiveSheetIndex(1)->setCellValue($col[$listK].$key,$value[$listV]);
           }
        }
        for($i=0;$i<count($list['rds']);$i++){
        $objPHPExcel->getActiveSheet(1)->getColumnDimension($col[$i])->setAutoSize(true);
        }
        ob_end_clean();
        $filename = date('YmdHis',time())."項目信息";
        header ( 'Content-Type: application/vnd.ms-excel;charset=utf-8' );
        header('Content-Disposition: attachment;filename='.$filename.'.xlsx');
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save('php://output');
        exit;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章