include_once('./PHPExcel-1.8/Classes/PHPExcel.php');
$objPHPExcel = new PHPExcel();
$sql = "쿼리문";
$result = mysql_query($sql);
// 칼럼 생성
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A1", "칼럼1")
->setCellValue("B1", "칼럼2")
->setCellValue("C1", "칼럼3")
->setCellValue("D1", "칼럼4")
->setCellValue("E1", "칼럼5")
->setCellValue("F1", "칼럼6")
->setCellValue("G1", "칼럼7")
->setCellValue("H1", "칼럼8");
//############################################################################
//############################# 스타일 설정 start #############################
//############################################################################
// 첫번째 제목 라인 폰트 bold
$objPHPExcel->getActiveSheet()->getStyle('A1:K1')->getFont()->setBold(true);
// 첫번째 제목 라인 폰트 배경색 지정
$objPHPExcel->getActiveSheet()->getStyle('A1:K1')->getFill()->applyFromArray(
array (
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array (
'rgb' => 'dadada'
)
)
);
// 첫번째 제목 라인 border
$objPHPExcel->getActiveSheet()->getStyle('A1:K1')->getBorders()->applyFromArray(
array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array(
'rgb' => '000000'
)
)
)
);
// 첫번째 제목 라인 스크롤시 고정 처리
$objPHPExcel->getActiveSheet()->freezePane('A2');
//############################################################################
//############################# 스타일 설정 END #############################
//############################################################################
// 데이터 삽입
for ($i=2; $row=mysql_fetch_array($result); $i++) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A$i", $row['데이터'])
->setCellValue("B$i", $row['데이터'])
->setCellValue("C$i", $row['데이터'])
->setCellValue("D$i", $row['데이터'])
->setCellValue("E$i", $row['데이터'])
->setCellValue("F$i",$row['데이터'])
->setCellValue("G$i", $row['데이터'])
->setCellValue("H$i", $row['데이터']);
}
// 칼럼 넓이 지정 - AUTO
for ($col = 'A'; $col !== 'L'; $col++) {
$objPHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true);
}
// 시트명 설정
$objPHPExcel->getActiveSheet()->setTitle('point');
// 엑셀파일 오픈시 첫번쨰로 보여줄 시트 인덱스 설정
$objPHPExcel->setActiveSheetIndex(0);
// 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다.
$filename = iconv("UTF-8", "EUC-KR", "테스트");
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=".$filename.".xls");
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
$xlsData = ob_get_contents();
ob_end_clean();
$response = array(
'status' => 'success',
'url' => "data:application/vnd.ms-excel;base64,".base64_encode($xlsData)
);
// 성공여부 FILE URL return후 종료
die(json_encode($response));