일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 gcm
- 설치
- html5
- chart.js
- roundcube
- curl
- android 효과음
- Android
- FCM
- C# IO
- WebView
- 폼메일
- 안드로이드
- UML
- not working
- php 시큐어코딩
- PHP
- Mail Server
- 자동 생성
- 안드로이드 푸시
- dovecot
- xe
- soundpool
- php 취약점
- javascript
- 안드로이드 푸쉬
- C#
- mysql
- 우분투
- 자바스크립트
- Today
- Total
그러냐
PHPExcel 클래스를 이용해 Excel 2007~2010 의 xlsx 파일 읽기 (100만 행 까지) 본문
기존 엑셀 2003까지 버전은 확장자가 xls 로 생성되며 한시트에 최대 65,535 라인까지 처리할 수 있다.
그 이상의 행을 처리하려면 엑셀 2007 이상의 버전에서 xlsx 파일로 생성해야 한다. (100만 라인까지 가능)
기본 65,535라인을 넘는 데이터를 처리해야 할 경우 PHPExcel 클래스를 이용해 간단히 처리할 수 있다.
참고로 서버에 zip 라이브러리가 설치되어 있어야 한다.
먼저 PHPExcel 클래스를 다운로드 받자
http://www.codeplex.com/PHPExcel 에 방문하여 최신 버전을 내려받는다.
현재 기준으로 1.7.9 버전이 최신이다.
파일을 내려 받으면 PHPExcel_1.7.9_doc.zip 라는 파일이 받아진다.
압축을 풀어 서버에 업로드 한다.
나의 경우에는 서버 계정의 _lib 디렉토리에 업로드 하고 디렉토리명을 PHPExcel 로 설정했다.
POST로 엑셀파일을 업로드 하는 폼 페이지는 생략 하겠다.
아래는 폼 페이지에서 파일을 업로드 하면 실행하는 파일이다.
(POST 로 날라오는 파일 폼 이름이 "upfile" 이라 정하면)
<?php
include $_SERVER["DOCUMENT_ROOT"]."/_lib/PHPExcel/Classes/PHPExcel.php";
$UpFile = $_FILES["upfile"];
$UpFileName = $UpFile["name"];
위 데이터 처리 부분에 원하는 처리를 하면 되겠다.
데이터를 100만건까지 처리 하다보니 서버의 부담이 커서 데이터 시트 범위를 정하고, 서식을 모두 버리고 데이터만 처리하도록 세팅했다.
위 내용은 PHPExcel 라이브러리를 받아 내부에 문서를 보면 다 나와있는 내용이긴 하지만, 사용하려는 분들이 좀 더 쉽게 사용하시라고 예제를 만들어봤다. (실제 사용해 보니 잘 돌아간다.)
끝으로 PHPExcel 라이브러리를 만들어준 분께 감사드린다.
출처: http://spac.tistory.com/176 [PHP와 함께하는 재미있는 웹프로그래밍~]
'php' 카테고리의 다른 글
PHPExcel 에서 줄바꿈 처리 (0) | 2017.12.07 |
---|---|
phpexcel을 이용한 PHP로 엑셀파일 읽기와 생성 (0) | 2017.08.17 |
php ios apns 대량 배열 푸시보내기 (0) | 2017.08.01 |
php 스크립트가 서버에 백그라운드 프로세스(background process)를 낳는 방법 (0) | 2017.07.26 |
CURL 이용 POST 방식으로 JSON 파일 보내고 받기 (0) | 2017.07.26 |