getActiveSheet(); $sql = "SELECT * , getCode('car_master','ds_type',ds_type) as nm_type , getCode('car_master','ds_open',ds_open) as nm_open , getCode('car_master','ds_sales',ds_sales) as nm_sales , getCode('car_master','ds_transmission',ds_transmission) as nm_transmission , getCode('member_master','ds_area',ds_area_sale) as nm_area , getCode('sale_master','ds_status',ds_status_sale) as nm_status FROM ( SELECT a.* , b.nm_model , c.nm_grade , d.nm_brand , e.nm_model_sub , s.cd_sale , s.nm_name nm_name_sale , s.nm_recommend nm_recommend_sale , s.ds_status ds_status_sale , s.ds_status_contract ds_status_contract_sale , s.ds_area ds_area_sale , s.dt_update dt_update_sale , s.dt_insert dt_insert_sale , s.dt_drop dt_drop_sale , s.nm_price nm_price_sale , s.nm_price_final nm_price_final_sale , aap.nm_name aap_nm_name , (case when s.is_staff = 'Y' AND sa.cd_user > '' then sa.nm_name else '' end) as sa_name , (case when s.is_staff = 'Y' AND sa.cd_user > '' then sa.nm_hp else '' end) as sa_phone FROM sale_master s inner join car_master a on (s.cd_car = a.cd_car) left outer join car_model b on (a.cd_model = b.cd_model) left outer join car_grade c on (a.cd_grade = c.cd_grade) left outer join car_brand d on (a.cd_brand = d.cd_brand) left outer join aap_master aap on (aap.cd_dealer = s.cd_aap_dealer) left outer join car_model_sub e on (a.cd_model_sub = e.cd_model_sub) left outer join sa_master sa on (s.cd_user = sa.cd_user) $add_sql $orderby ) as car ORDER BY IFNULL(dt_drop_sale, '0000-00-00') ASC "; $r = mysql_query($sql, $connect); // echo $sql; // exit; $i=1; $EXCEL_DATA = array(); while($col = mysql_fetch_assoc($r)) { #리스트 $DATA = array(); $DATA['no'] = (string)$i; $DATA['nm_name_sale'] = $col['nm_name_sale']; $DATA['sa_name'] = $col['sa_name']; $DATA['car_info'] = $col['nm_brand']." ".$col['nm_model']; $DATA['nm_number'] = $col['nm_number']; $DATA['sa_phone'] = $col['sa_phone']; $DATA['nm_area'] = $col['nm_area']; $DATA['dt_insert_sale'] = $col['dt_insert_sale']; $DATA['dt_drop'] = $col['dt_drop_sale']; $DATA['aap_nm_name'] = $col['aap_nm_name']; $EXCEL_DATA[] = $DATA; unset($DATA); $i++; } // 데이터 순서를 역순으로 뒤집기 $EXCEL_DATA = array_reverse($EXCEL_DATA); mysql_close($connect); $cells = array( 'A' => array(15, 'no', '번호'), 'B' => array(20, 'nm_name_sale', '판매자'), 'C' => array(20, 'sa_name', 'SA명'), 'D' => array(20, 'sa_phone', 'SA연락처'), 'E' => array(20, 'aap_nm_name', '희망AAP'), 'F' => array(40, 'car_info', '차종'), 'G' => array(20, 'nm_number', '차량번호'), 'H' => array(20, 'nm_area', '판매지역'), 'I' => array(20, 'dt_insert_sale', '등록일'), 'J' => array(20, 'dt_drop', '유찰일') ); foreach ($cells as $key => $val) { $cellName = $key.'1'; $sheet->getColumnDimension($key)->setWidth($val[0]); $sheet->getRowDimension('1')->setRowHeight(25); $sheet->setCellValue($cellName, $val[2]); $sheet->getStyle($cellName)->getFont()->setBold(true); $sheet->getStyle($cellName)->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getStyle($cellName)->getAlignment()->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER); } for ($i = 2; $row = array_shift($EXCEL_DATA); $i++) { foreach ($cells as $key => $val) { $sheet->setCellValue($key.$i, $row[$val[1]]); } } $filename = '관리자_유찰_엑셀_'.date('Y-m-d'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="'.$filename.'.xlsx"'); $writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $writer->save('php://output'); exit; ?>