[PHP] PHPExcel 시트 추가하기[PHP] PHPExcel 시트 추가하기
Posted at 2020. 2. 11. 20:06 | Posted in PHP/PHP Library■ PHPExcel 시트 나누고 데이터 삽입하기
# 소스코드
<?php include "./classes/PHPExcel.php"; $objPHPExcel = new PHPExcel(); $rocketPunch = array( // 첫번째 시트에 사용될 데이터 값 "pinkPunch" => array( "1" => "PINK PUNCH" , "2" => "BIM BAM BUM" , "3" => "Love Is Over" , "4" => "Lucid Dream" , "5" => "Favorite" , "6" => "Do Something" ) // 두번째 시트에 사용될 데이터 값 , "redPunch" => array( "1" => "RED PUNCH" , "2" => "BOUNCY" , "3" => "So Solo" , "4" => "Fireworks" , "5" => "Paper Star" , "6" => "Lilac" , "7" => "Girl Friend" ) ); // @breif Worksheet 라는 이름으로 생성되는 기본 시트를 삭제한다. $objPHPExcel -> removeSheetByIndex(0); // @breif 생성할 시트의 순번 $sheetNum = 0; foreach($rocketPunch as $title => $album) { // @breif createSheet( ) 함수로 새로운 시트를 생성한다. $objWorkSheet = $objPHPExcel -> createSheet($sheetNum); // @breif 엑셀 시트 이름 지정 $objWorkSheet -> setTitle($title); // @breif 타이틀 영역 지정 $objWorkSheet -> setCellValue("A1", "NO."); $objWorkSheet -> setCellValue("B1", "Song"); // @breif 엑셀에 데이터 삽입 $row = 1; foreach($album as $key => $val) { $row++; $objWorkSheet -> setCellValue(sprintf("A%s", $row), $key); $objWorkSheet -> setCellValue(sprintf("B%s", $row), $val); } // @breif 각 행의 간격 $objWorkSheet -> getColumnDimension("A") -> setWidth(10); $objWorkSheet -> getColumnDimension("B") -> setWidth(30); // @breif 각 로우의 디자인 $objWorkSheet -> getStyle(sprintf("A1:B%s", $row)) -> getAlignment() -> setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objWorkSheet -> getStyle(sprintf("A1:B%s", $row)) -> getBorders() -> getAllBorders() -> setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objWorkSheet -> getStyle("A1:B1") -> getFont() -> setBold(true); $objWorkSheet -> getStyle("A1:B1") -> getFill() -> setFillType(PHPExcel_Style_Fill::FILL_SOLID) -> getStartColor() -> setRGB("CECBCA"); $objWorkSheet -> getStyle(sprintf("A2:B%s", $row)) -> getFill() -> setFillType(PHPExcel_Style_Fill::FILL_SOLID) -> getStartColor() -> setRGB("F4F4F4"); // @breif 숫자앞에 기본적으로 0을 붙일 수 있게 한다. $objWorkSheet -> getStyle(sprintf("A2:A%s", $row)) -> getNumberFormat() -> setFormatCode("00"); $sheetNum++; } // @breif 문서를 오픈할 시 첫번째 시트로 열리게 설정 $objPHPExcel -> setActiveSheetIndex(0); // @breif 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다. $filename = iconv("UTF-8", "EUC-KR", "울림_로켓펀치"); 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"); ?> |
# 출력결과
'PHP > PHP Library' 카테고리의 다른 글
[PHP] PHPExcel 날짜 표시 형식 처리하기 (0) | 2020.04.26 |
---|---|
[PHP] SimpleSql 라이브러리를 사용한 손쉬운 쿼리사용 (1) | 2018.04.16 |
[PHP] PHP 메일 발송 (5) | 2018.04.10 |
[PHP] PHPExcel 엑셀 파일 업로드 하고 내용 읽기 (0) | 2018.03.22 |
[PHP] PHPExcel 설치하고 엑셀파일 다운받기 (0) | 2018.03.21 |
[JavaScript] 시간(HH:MM)만을 입력하는 텍스트 박스[JavaScript] 시간(HH:MM)만을 입력하는 텍스트 박스
Posted at 2018. 8. 17. 17:57 | Posted in JavaScript & jQuery/JavaScript■ 텍스트 박스에 시간 입력시 콜론(HH:MM) 자동 삽입
jQuery 캘린더와 같이 jQuery모듈들 중에도 시간을 선택하게 해주는 모듈들이 상당히 있었으나.
분단위를 세세하게 지정하기 힘든등의 무언가 마음에 들지 않는 부분들이 있어 제작하게 되었다.
HHMM 식으로 콜론없이 쭉 4개의 숫자를 자동으로 입력하면 HH:MM형식으로 숫자가 자동으로 기입되는 그런 구조이다.
# 소스코드
<html> // replace 함수를 사용하여 콜론( : )을 공백으로 치환한다. // 텍스트박스의 입력값이 4~5글자 사이가 되는 경우에만 실행한다. // isFinite함수를 사용하여 문자가 선언되었는지 확인한다. // 두 변수의 시간과 분을 합쳐 입력한 시간이 24시가 넘는지를 체크한다. // 입력한 분의 값이 60분을 넘는지 체크한다. <!-- maxlength의 값을 5로지정하여 다섯자리 이상의 값이 등록되는것을 막는다. --> <input type="text" class="timeBox" onKeyup="inputTimeColon(this);" placeholder="HH:MM" maxlength="5"/> |
# 출력결과 - 정상적인 시간을 입력한 경우
# 예외처리① - 문자를 입력한 경우
# 예외처리② - 24시를 넘긴 시간을 입력한 경우
# 예외처리③ - 60분을 넘긴 시간을 입력한 경우
'JavaScript & jQuery > JavaScript' 카테고리의 다른 글
[JavaScript] Session 데이터 읽고, 쓰기 (0) | 2018.09.04 |
---|---|
[JavaScript] Cookie 생성, 삭제 및 읽어오기 (4) | 2018.09.03 |
[JavaScript] 전화번호 Hyphen(-)기호 자동 삽입 (7) | 2018.08.21 |
[JavaScript] 천단위 이상의 입력값에 자동콤마( , ) 삽입 (0) | 2018.08.20 |
[JavaScript] 카드번호 입력폼 예제 (0) | 2018.04.18 |
[Editor] Daum Open Editor 커스텀 메뉴 버튼 제작[Editor] Daum Open Editor 커스텀 메뉴 버튼 제작
Posted at 2018. 4. 20. 12:43 | Posted in API/DAUM 오픈 에디터■ 다음 오픈 에디터 YouTube 영상 삽입 커스텀 버튼 제작
01. 먼저 다음 오픈 에디터 라이브러리중 editor.html 파일을 열고 수정한다.
02. editor.html 소스코드에 YouTube 영상 삽입 메뉴를 추가한다.
editor.html |
~ 기타 코드 생략 ~ <li class="tx-list"> <!-- YouTube 영상 삽입 커스텀 버튼 시작 --> <li class="tx-list"> <!-- YouTube 영상 삽입 커스텀 버튼 종료 --> <li class="tx-list"> ~ 기타 코드 생략 ~ |
※ 사용된 CSS Style들은 삽입한 이미지에 맞추기위해 사용된것이다. 각자 주어진 환경에 맞게 수정해야 할것이다.
03. 그럼 상단 메뉴에 아래와 같이 YouTube 버튼이 추가된 모습을 확인 할 수 있다.
04. 다음으로 다음에디터를 불러올 board.php 파일을 수정한다.
05. board.php 파일에 YouTube 업로드 기능을 수행할 팝업 기능을 가진 자바스크립트 함수를 추가한다.
board.php |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> var popUrl = "./daumEditor/pages/trex/youtube.html"; |
06. 마지막으로 YouTube 동영상 업로드 기능을 수행할 youtube.html 파일을 제작한다.
※ 이 포스팅은 multimedia.html 파일을 복사한 youtube.html파일 안의 코드를 수정하는 식을 작업을 진행하였다.
07. youtube.html 파일의 수정결과는 아래와 같다.
youtube.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> // YouTube URL 주소에서 뒤에서 11자리의 문자열을 잘라낸다. youtubeCode = str.substring(str.length - 11); <!-- 삭제 function selectType(id){ --> // ]]> <!-- HTML 폼은 필요없는 부분들을 대부분 잘라내었다. --> <body onload="initEmbeder()"> |
08. 이제 다시 브라우저에서 에디터를 오픈하고 YouTube 동영상을 Daum Open Editor에 삽입해보자.
'API > DAUM 오픈 에디터' 카테고리의 다른 글
[Editor] Daum Open Editor 세팅하고 사용하기 (0) | 2018.03.26 |
---|
[PHP] SimpleSql 라이브러리를 사용한 손쉬운 쿼리사용[PHP] SimpleSql 라이브러리를 사용한 손쉬운 쿼리사용
Posted at 2018. 4. 16. 16:16 | Posted in PHP/PHP Library다운로드 : https://github.com/cballou/SimpleSql
■ SimpleSQL이란?
뭐라고 자세히 적고 싶지만, 필자도 자세히는 모른다.
PHP상에서 SQL을 쉽게 사용할 수 있도록 해주는 라이브러리 정도라고 밖에는...
해당 포스팅외에도. 당장 GitHub를 뒤져보면.
PHP이외에도 여러 언어들에서 사용가능하고 배포중인 SimpleSQL 라이브러리의 모습을 확인 할 수 있다.
필자도 근무했던 회사에서 사용중이었기에.
관심을 가지고 이것이 어떤것인지 사용방법과 세팅에 대해 공부하기 위해 해당 포스팅을 작성하게 되었다.
필자는 코드이그나이트나, 라라벨 같은 프레임워크를 쓰지 않는 프로젝트에서
자주 사용을 해보려 한다.
■ SimpleSql 라이브러리 세팅하기
-. 해당포스팅의 SimpleSql 라이브러리를 사용하기위해서는 PDO를 사용할 수 있어야 한다.
-. PDO의 사용방법에 관해서는 http://wickedmagica.tistory.com/16 포스팅을 참고하자.
01. https://github.com/cballou/SimpleSql 접속하여 SimpleSql-master.zip 파일을 다운받는다.
02. 압축을 해제한 폴더를 살펴보면 src/CraftBlue/ 경로 안에 SimpleSql.php 파일이 존재한다.
다른 파일상관없이 이 SimpleSql.php 하나만 작업할 프로젝트 경로로 복사하면 된다.
※ 필자의 환경에서는 SimpleSql.php 파일의 아래 두개의 코드로 에러가 발생하여 삭제 or 주석처리 하였다.
SimpleSql.php |
<?php // namespace CraftBlue; // use PDO; class SimpleSql { /*** 기타 생략 ***/ } ?> |
※ 같이 사용할 DB접송 정보 파일
db_info.php |
<?php |
■ SimpleSql을 이용한 데이터 SELECT 하기
01. fetchRow 함수를 사용한 데이터 단건 데이터 조회
# 소스코드
<?php |
# 출력결과
02. fetchRows 함수를 사용한 데이터 다수 데이터 조회
# 소스코드
<?php |
# 출력코드
■ SimpleSql을 이용한 데이터 INSERT 하기
# 소스코드
<?php |
# 쿼리결과
■ SimpleSql을 이용한 데이터 UPDATE 하기
# 소스코드
<?php |
# 소스코드
SimpleSql.php |
<?php /*** 기타 생략 ***/ public function update($table, array $data, $where = array()) { /*** 기타 생략 ***/ // handle data portion /* 쿼리 구문 추가 */ /*** 기타 생략 ***/ } /*** 기타 생략 ***/ ?> |
※ WHERE를 추가한 이유 (공백)WHERE(공백)
update 함수를 실행시 조건을 제시할 WHERE절을 사용하거나 받아오는 부분이 도통 보이지 않았다.
그래서 강제로 " WHERE " 해당 구문을 삽입하여 사용하였다.
■ SimpleSql을 이용한 데이터 DELETE 하기
<?php |
'PHP > PHP Library' 카테고리의 다른 글
[PHP] PHPExcel 날짜 표시 형식 처리하기 (0) | 2020.04.26 |
---|---|
[PHP] PHPExcel 시트 추가하기 (0) | 2020.02.11 |
[PHP] PHP 메일 발송 (5) | 2018.04.10 |
[PHP] PHPExcel 엑셀 파일 업로드 하고 내용 읽기 (0) | 2018.03.22 |
[PHP] PHPExcel 설치하고 엑셀파일 다운받기 (0) | 2018.03.21 |