본문 바로가기

프로그래밍/웹

PHP 엑셀 다루기

반응형

php 엑셀 다루기



엑셀 라이브러리 다운

https://github.com/PHPOffice/PHPExcel

라이브러리 적용

 require_once("PHPExcel-1.8\Classes\PHPExcel.php");

 require_once("PHPExcel-1.8\Classes\PHPExcel\IOFactory.php");



Excel 객체 생성

 $objPHPExcel = new PHPExcel();


엑셀 시트 생성 & 삭제

 $objPHPExcel->createSheet();

 $objPHPExcel->removeSheetByIndex(0);


시트 선택 후 이름 지정

 $objPHPExcel->setActiveSheetIndex(0);

// 데이터를 입력할 시트 지정(필수)

 $objPHPExcel->getActiveSheet()->setTitle( 'sheet_name1' );


엑셀 값 삽입

 $objPHPExcel->getActiveSheet()->setCellValue( 'A1' , iconv("EUC-KR","UTF-8",$menu[$i] ) );


엑셀 저장

 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

 $objWriter->save('php://output');


셀 병합 & 가운데 정렬 & 컬럼 너비 조절 & 자동 개행

 $objPHPExcel->getActiveSheet()->mergeCells('A1:B3');

 $objPHPExcel->getActiveSheet()->getStyle('A1:A9')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);

 $objPHPExcel->getActiveSheet()->getStyle( 'A1' )->getAlignment()->setWrapText(true);


배경색 & 폰트 양식 & 테두리 정의

 $TD_COLOR = array(
 
 		
 			'fill' => array(
 			'type' => PHPExcel_Style_Fill::FILL_SOLID,
 			'color' => array('rgb'=>'ffff00'),
 			),
 
 			'font' => array(
 			'bold' => 'true',
 			'size' => '12',
 			'color' => array('rgb'=>'000000')
 
 			),
 			
 			'borders' => array(
 
 				'outline' => array(
 					'style' => PHPExcel_Style_Border::BORDER_THICK,
 					'color' => array('grab'=>'000000')
 					)
 				),
 );
 $objPHPExcel->getActiveSheet()->getStyle('A1:A9')-> applyFromArray($TD_COLOR);

※ 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
        require_once("PHPExcel-1.8\Classes\PHPExcel.php");
        require_once("PHPExcel-1.8\Classes\PHPExcel\IOFactory.php");
 
        $objPHPExcel = new PHPExcel();                
 
        for($i=0$i < count($_POST['Recv_data']); $i++)
        {        
             $objPHPExcel->setActiveSheetIndex($i);
                $objPHPExcel->getActiveSheet()->setCellValue('A'.(String)($i+1) , iconv("EUC-KR","UTF-8"$_POST['Recv_data'][$i] );
                $objPHPExcel->getActiveSheet()->setTitle( "Sheet $i" );
               $objPHPExcel->createSheet();
        }              $objPHPExcel->removeSheetByIndex($i);
        
        header('Content-Type:application/vnd.ms-excel; charset=utf-8');
        header('Content-Disposition:attachment; filename = testa.xls');
        header('Content-Description:PHP4 Generated Data');
 
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel'Excel5');
        $objWriter->save('php://output');
        
?>
cs



반응형

'프로그래밍 > ' 카테고리의 다른 글

자바스크립트 이미지 캡처하기  (0) 2019.12.13
PHP 이미지 캡처하기  (0) 2019.12.13
자바스크립트로 테이블을 엑셀 파일로 추출하기  (0) 2019.12.12
PHP 함수 모음  (0) 2019.12.12
PHP 로그인 구현  (0) 2019.11.29