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

+ Recent posts