본문 바로가기
Web/PHP

CodeIgniter 에서 PHPExcel 사용하여 Excel 파일 읽기

by 기저귀찬개발자 2019. 5. 7.

PHP에서 사용 가능한 Excel 관련 라이브러리가 많이 있으나 그나마 가장 많이 사용되는

PHPExcel을 사용하여 Excel 파일에서 데이터를 가져오는 기능 구현을 하겠다.

 

환경

OS : Ubuntu 16.04

PHP : PHP7.0

 

순서

1. PHPExcel 라이브러리 다운로드 

2. Codeigniter 삽입

3. 파일 폼 전송 처리

 

 

1. PHPExcel 라이브러리 다운로드 ( https://github.com/PHPOffice/PHPExcel )

 - 위 사이트에 접속 후에 ZIP 파일로 다운로드 받는다.

 - Git 을 사용하여 Clone 받아도 무방하다.

 

 

 

2. Codeigniter 라이브러리 삽입

 - 우리는 Classes 안에 있는 PHPExcel 폴더와 PHPExcel.php 파일이 필요하다.

 - 해당 파일들을 codeigniter 프로젝트 /application/libraries 에 복사한다.

/프로젝트명/application/libraries/PHPExcel
/프로젝트명/application/libraries/PHPExcel.php

 

3. 파일 폼 전송 처리

 - 서버에 업로드하여 사용해도 괜찮지만 굳이 서버에 저장할 필요가 없다면 해당 예제를 따라한다

 - 업로드 하여 사용할 경우는 upload 후에 파일 경로를 load 부분에 다시 셋팅해주자

$this->load->library("PHPExcel");
$objPHPExcel = new PHPExcel();
$objPHPExcel = PHPExcel_IOFactory::load($_FILES['excel']['tmp_name']);
$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);
	}
}

 

 

'Web > PHP' 카테고리의 다른 글

[ Codeigniter ] 에러 출력하기  (0) 2019.11.18
[ Laravel ] 블레이드 템플릿 문법  (0) 2019.10.18
[ Laravel ] permission denied 문제  (0) 2019.09.03
[ Laravel ] 기본 config 항목 살펴보기  (0) 2019.07.31
laravel view 캐쉬 비우기  (0) 2019.04.11

댓글