PHPExcel을 사용해서 엑셀을 다운로드 하는 방법이다.
require_once($_SERVER['DOCUMENT_ROOT']."/lib/Classes/PHPExcel.php");
//한글 깨짐 방지
header("Content-Type:text/html;charset=utf-8");
//PHPExcel class 로드
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties() ->setCreator("작성자")
->setLastModifiedBy("최종 수정자")
->setTitle("타이틀")
->setSubject("주제")
->setDescription("설명")
->setKeywords("키워드")
->setCategory("라이센스");
//시트이름 변경
$objPHPExcel->setActiveSheetIndex(0)->setTitle('변경 시트 이름');
//셀 가로 크기 설정 ( 설정은 되나 0.45 정도 적게 적용됨 )
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(4);
//셀 세로 높이 설정 ( 가로와 다르게 정확히 적용 됨 )
$objPHPExcel->setActiveSheetIndex(0)->getRowDimension(1)->setRowHeight(21);
//글자 굵게
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getFont()->setBold(true);
//글자 사이즈
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getFont()->setSize(16);
//글자색
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getFont()->getColor()->setARGB("FFFFFFFF");
//셀값 입력
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("A1", "제목")
->setCellValue("A2", 12345); // 여러개를 추가하려면 이렇게 하면 된다.
//숫자 형 변환
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1:A2')->getNumberFormat()->setFormatCode('#,##0');
//가로정렬
// 중앙 정렬
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// 오른쪽 정렬
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
// 왼쪽 정렬
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
//세로정렬
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1:S343')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//배경색
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A1:A2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB("FFD9D9D9");
//이미지 추가
$path = "이미지경로";
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Photo_3');
$objDrawing->setDescription('Photo_3');
$objDrawing->setPath($path);
$objDrawing->setResizeProportional(true);
$objDrawing->setWidth(400); // 이미지 크기
$objDrawing->setOffsetX(35); // 이미지가 시작할 위치를 퍼센트로 적용 셀의 크기에 가로가 35%만큼 이동해서 시작
$objDrawing->setOffsetY(5); // 이미지가 시작할 위치를 퍼센트로 적용 셀의 크기에 세로가 5%만큼 이동해서 시작
$objDrawing->setCoordinates("A1");
$objDrawing->setWorksheet($objPHPExcel->setActiveSheetIndex(1));
//시트 생성 및 이름 지정
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1)->setTitle('새로운 시트 이름');
추가한 시트는 setActiveSheetIndex 여기의 번호를 올리면 됨.
'PHP' 카테고리의 다른 글
[PHP] 모바일 접속 체크 (0) | 2017.11.27 |
---|---|
[PHP] define과 defined의 차이 (0) | 2017.11.27 |
[PHP] $_SERVER[''] 정리 (0) | 2017.11.27 |
[PHP] mySql 연결하기 (0) | 2017.11.27 |
[PHP] 이중 배열 정렬하는 방법 (0) | 2017.11.27 |