일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- android 효과음
- curl
- 안드로이드 푸시
- dovecot
- xe
- 자바스크립트
- php 시큐어코딩
- C#
- javascript
- chart.js
- 안드로이드
- UML
- C# IO
- not working
- soundpool
- 안드로이드 gcm
- Mail Server
- 폼메일
- roundcube
- FCM
- html5
- php 취약점
- 설치
- 자동 생성
- mysql
- WebView
- PHP
- Android
- 우분투
- 안드로이드 푸쉬
- Today
- Total
그러냐
[PHPEXCEL] phpexcel 사용법 본문
<?php
//PHPEXCEL : https://phpexcel.codeplex.com/
//위에서 다운로드 후, 압축 해제 후, Classes폴더를 라이브러리폴더에 추가 하고 사용 하자 !
// PHPExcel.php 파일 경로 지정
include_once("ExcelClasses/PHPExcel.php");
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();
// Set properties
// Excel 문서 속성
$objPHPExcel->getProperties()
->setCreator("작성자")
->setLastModifiedBy("최종 수정자")
->setTitle("타이틀")
->setSubject("주제")
->setDescription("설명")
->setKeywords("키워드")
->setCategory("라이센스");
//엑셀 수정시 비밀번호를 입력해야된다.
$phpexcel->getActiveSheet()->getProtection()->setSheet(true);
$phpexcel->getActiveSheet()->getProtection()->setSort(true);
$phpexcel->getActiveSheet()->getProtection()->setInsertRows(true);
$phpexcel->getActiveSheet()->getProtection()->setFormatCells(true);
$phpexcel->getActiveSheet()->getProtection()->setPassword("0000");
/*
* 셀 컨트롤
*/
// 셀 갑 입력
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("A1", "셀값");
// 셀 합치기
$sheet->mergeCells('A1:C1');
// 셀 가로크기
$sheet->getColumnDimension('A')->setWidth(6);
// 셀 높이
$sheet->getRowDimension(1)->setRowHeight(25);
// 셀 숫자형 변환 (1000 -> 1,000)
$sheet->getStyle('A1:C1')->getNumberFormat()->setFormatCode('#,##0');
// 글꼴 및 정렬
$sheet->duplicateStyleArray(
array(
'font' => array(
'bold' => true,
'size' => 14
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER
)
),
'A1'
);
//개별 적용
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true); // 셀의 text를 굵게
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(13); // 셀의 textsize를 13으로
// 보더 스타일 지정
$defaultBorder = array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb'=>'000000')
);
$headBorder = array(
'borders' => array(
'bottom' => $defaultBorder,
'left' => $defaultBorder,
'top' => $defaultBorder,
'right' => $defaultBorder
)
);
// 다중 셀 보더 스타일 적용
foreach(range('A','C') as $i => $cell){
$sheet->getStyle($cell.'1')->applyFromArray( $headBorder );
}
//줄바꿈 허용
$phpexcel->getActiveSheet()->getStyle('H4')->getAlignment()->setWrapText(true);
$phpexcel->getActiveSheet()->getStyle('K6')->getAlignment()->setWrapText(true);
$phpexcel->getActiveSheet()->getStyle('K8')->getAlignment()->setWrapText(true);
// 배경색 적용
$sheet->duplicateStyleArray(
array(
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array('rgb'=>'F3F3F3')
)
),
'A1:C1'
);
// 셀 정렬 (다른방식)
$sheet->getStyle('A1')
->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->getStyle('A1:C1')
->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//테두리
//셀 전체(윤곽선 + 안쪽)
$objPHPExcel->getActiveSheet()->getStyle('B2:C3')->getBorders()
->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//윤곽선
$objPHPExcel->getActiveSheet()->getStyle('B5:C6')->getBorders()
->getOutline()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//안쪽
$objPHPExcel->getActiveSheet()->getStyle('B8:C9')->getBorders()
->getInside()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//세로선
$objPHPExcel->getActiveSheet()->getStyle('B11:D13')->getBorders()
->getVertical()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//가로선
$objPHPExcel->getActiveSheet()->getStyle('B15:D17')->getBorders()
->getHorizontal()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
// Rename sheet
$sheet->setTitle("주문거래내역");
// 문서 열어볼시 미리 선택되어지는 셀 설정
$sheet->setSelectedCellByColumnAndRow(0, 1);
// 엑셀 파일 오픈시 활성화될 시트
$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');
exit;
?>
출처: https://babysunmoon.tistory.com/entry/PHPEXCEL-phpexcel-사용법 [주로로 통신]
'php' 카테고리의 다른 글
[PHP]CSV파일 다운로드, 한글 깨짐, UTF-8 BOM (0) | 2019.12.30 |
---|---|
curl_multi를 이용한 병렬처리 (0) | 2019.11.11 |
네이버 스마트 에디터 이미지 리사이즈 (3) | 2019.04.03 |
PHPExcel 시트추가 add sheet (0) | 2019.02.13 |
PHPexcel 라이브러리 참조 자료 (0) | 2019.01.23 |