티스토리 뷰

프로그래밍/PHP

php 엑셀(Excel) 파일 읽기

강남리치 2018. 6. 10. 01:16
반응형

PHPExcel 을 사용하여 손쉽게 엑셀파일에 있는 데이터를 가져올 수 있다.


1. PHPExcel 다운로드 및 Apache 경로에 복사

- https://github.com/PHPOffice/PHPExcel 에 들어가서 다운로드를 해준다.

- 아래 사진과 같이 내 아파치 경로 하위 htdocs 폴더안에 복사한다.


2. test.php 생성

- /htdocs 폴더 하위에 test.php 파일을 생성 후 아래와 같이 작성 후 저장한다.

<?php

require_once "./PHPExcel-1.8/Classes/PHPExcel.php"; // PHPExcel.php을 불러옴.


$objPHPExcel = new PHPExcel();


require_once "./PHPExcel-1.8/Classes/PHPExcel/IOFactory.php"; // IOFactory.php을 불러옴.


$filename = './testFile.xlsx'; // 읽어들일 엑셀 파일의 경로와 파일명을 지정한다.


try {


// 업로드 된 엑셀 형식에 맞는 Reader객체를 만든다.

$objReader = PHPExcel_IOFactory::createReaderForFile($filename);


// 읽기전용으로 설정

$objReader->setReadDataOnly(true);


// 엑셀파일을 읽는다

$objExcel = $objReader->load($filename);


// 첫번째 시트를 선택

$objExcel->setActiveSheetIndex(0);


$objWorksheet = $objExcel->getActiveSheet();


$rowIterator = $objWorksheet->getRowIterator();


foreach ($rowIterator as $row) { // 모든 행에 대해서

$cellIterator = $row->getCellIterator();

$cellIterator->setIterateOnlyExistingCells(false); 

}


$maxRow = $objWorksheet->getHighestRow();

for ($i = 0 ; $i <= $maxRow ; $i++) {


$dataA = $objWorksheet->getCell('A' . $i)->getValue(); // A열

$dataB = $objWorksheet->getCell('B' . $i)->getValue(); // B열

$dataC = $objWorksheet->getCell('C' . $i)->getValue(); // C열

$dataD = $objWorksheet->getCell('D' . $i)->getValue(); // D열

$dataE = $objWorksheet->getCell('E' . $i)->getValue(); // E열

$dataF = $objWorksheet->getCell('F' . $i)->getValue(); // F열


                   // 날짜 형태의 셀을 읽을때는 toFormattedString를 사용

$dataF = PHPExcel_Style_NumberFormat::toFormattedString($dataF, 'YYYY-MM-DD'); 


  }


} catch (exception $e) {

echo '엑셀파일을 읽는도중 오류가 발생하였습니다.<br/>';

}

​?>



3. 테스트할 엑셀파일 배치

- /htdocs 폴더 하위에 testFile.xlsx 파일 셋팅해준다.



최종적으로 아래와 같은 구조를 갖도록 한다.








반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함