제목 | PHPExcel사용방법 | ||
---|---|---|---|
글쓴이 | 헛발이 | 작성시각 | 2015/02/10 18:25:59 |
|
|||
인터넷에 수많은 예제들을 봣지만 마땅히 간단히 나온게 없어서 제가 정리 해 봅니다. 아무래도 고객이 엑셀작업을 요구하는 경우가 있어서 이번에 저도 맘 잡고 들여다 봤습니다. 여러가지 라이브러리가 있지만 아무래도 PHPExcel을 많이 사용하는거 같고 그래도 안정적인거 같아 PHPExcel로 결정했습니다... 해당라이브러리 다운로드 https://phpexcel.codeplex.com/ (그때그때 버젼업이 되니 필요한걸 다운 받으세요..) STEP1 코드이그나이터에 설치 합니다. 다운로드 한 파일을 압축풀면 Classes라는 폴더 안에 PHPExcel.php 와 PHPExcel 폴더 두개가 있습니다.. 이것을 Applecation/libraries/안에 복사해 넣습니다. Applecation/libraries/PHPExcel.php PHPExcel STEP2 다른 설명해 놓은 곳에 있는것을 해보면 잘 안되더군요..여기 포럼에도 웅파님이 적어 두신 Hook를 이용한 것도 있었지만 사용방법도 어렵고... 사실 아주 간단히 사용하고 싶거든요.. 이렇게 해 보겠습니다.... $this->load->library("PHPExcel"); $objPHPExcel = new PHPExcel(); $objPHPExcel = PHPExcel_IOFactory::load('파일경로'); $sheetsCount = $objPHPExcel->getSheetCount(); echo $sheetsCount; //쉬트의 갯수출력이것만으로도 엑셀파일을 읽어 오는것이 가능합니다. TIP1 좀더 작성해 보면 다음과 같이 할 수 있습니다. $this->load->library("PHPExcel"); $objPHPExcel = new PHPExcel(); $objPHPExcel = PHPExcel_IOFactory::load('파일경로'); $sheetsCount = $objPHPExcel->getSheetCount(); /* 쉬트별로 읽기 */ for($i = 0; $i < $sheetsCount; $i++) { $objPHPExcel->setActiveSheetIndex($i); $sheet = $objPHPExcel->getActiveSheet(); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); /* 한줄읽기 */ for ($row = 1; $row <= $highestRow; $row++) { /* $rowData가 한줄의 데이터를 셀별로 배열처리 됩니다. */ $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); } } TIP2 또하나 팁으로 엑셀의 날짜가 간혹 41852 이렇게 보일때가 있습니다. 이것은 엑셀서식이기에 우리가 흔히 쓰는 형식으로 변경을 해줘야 할때가 있습니다. 그럴땐 이렇게 해 주시면 됩니다. $date = PHPExcel_Style_NumberFormat::toFormattedString($날짜변수, PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);이렇게 처리 하시면 됩니다. TIP3 이럴 경우도 있쬬.. 이미 서버에 있는 파일이 아니고 업로드 폼을 통해서 직접선택한 엑셀파을을 읽을 경우도 있죠. 이를땐 이렇게 합니다.. .... $file_name = $_FILES["userfile"]["tmp_name"]; $objPHPExcel = PHPExcel_IOFactory::load($file_name); ....이렇게 업로드한 파일도 서버에 저장하지 않고 직접 읽을 수 있습니다. 좀더 구체적인 방법을 원하시면 http://phpexcel.codeplex.com/ 위의 링크로 가셔서 직접 찾아 보시거나 구글을 통해 찾아 보시기 바랍니다. |
|||
다음글 | slack 메신저에 메세지 보내기 (4) | ||
이전글 | 요즘 쓰고 있는 모델 기본 포맷 입니다. (7) | ||
한대승(불의회상)
/
2015/02/11 11:06:02 /
추천
0
와우.. 금쪽 같은 정보 정말 감사 합니다.
|
야동순재
/
2015/02/12 16:20:17 /
추천
0
좋은정보 정말 감사합니다.
|
KkamSe
/
2015/02/16 12:49:51 /
추천
0
좋은정보 감사드립니다~^^
|
음펴
/
2015/08/11 11:36:46 /
추천
0
좋은 정보 감사합니다.
|
초보개발자J
/
2016/03/04 13:14:18 /
추천
0
와.. 좋은정보 감사합니다. 이걸로 서버에 저장없이 엑셀파일을 읽을수있어서 정말 좋았어요.^^
|
하늘치
/
2018/04/02 17:31:25 /
추천
0
좋은 정보 감사합니다~ ^^
|