개발 Q&A

제목 php에서 excel을 이용하실때 어떤 library를 이용하시나요..?
글쓴이 구치리 작성시각 2013/08/01 17:06:44
댓글 : 16 추천 : 0 스크랩 : 0 조회수 : 23623   RSS
안녕하세요

php를 이용해서 저장된 데이터를 Excel 파일로 Export 하려는데

기존에 phpexcel 을 사용하다가
메모리가 빵 터져서...
다른 라이브러리를 고민중입니다.

이노무 phpexcel 은 생각보다 너무 메모리 사용량을 많이 잡아먹네요.
물론 지금은 memory 허용량을 늘려서 돌아가긴 하지만
장기적으로 보면 또 터질것 같습니다...

혹시 phpexcel 이외에 다른 유용한 excel library가 있다면 무엇이 있을까요..?
 다음글 mysql 이랑 연동하는데 한글이 깨져서 나옵니다. (3)
 이전글 seed 암호화 사용시 iconv(): Detected... (3)

댓글

지훈임돠 / 2013/08/01 18:16:43 / 추천 0
데이터 자체가 크다면.. DB에서 바로 가져와서 TABLE 형태나 CSV 형태로 출력하는 방법밖에 없지 않을까요..? (잘 모르는 1인)
구치리 / 2013/08/01 20:13:46 / 추천 0
그럴까요...
사실 탭이 한 10개정도 되서
csv로 나누면 10개정도 파일을 만들어서 손으로 일일히 합쳐야 하는 일이 또 생겨서요...
한번 클릭하면 한방에 땋 나오게 하고 싶거든요
탭이 더 늘어날 가능성도 있고.,. 으음..

milosz / 2013/08/02 09:28:33 / 추천 0
한번에 동작하기에 너무 크면 나눠서 동작하게 하거나 별개의 서버로 기능을 분리해주던가 해야합니다.
워커를 만들어서 돌린다던가 말이죠.

http://opentutorials.org/course/697/4130

이거 보시면 좀 아이디어가 생길거 같아요.
구치리 / 2013/08/02 09:32:49 / 추천 0
잘 보았습니다.

하지만 결국 하나의 엑셀 파일로 합치려면
여러 파일을 모아서 하나의 파일로 save 하는 과정이 필요한데요..

하나의 파일로 save하려면
전체 내용을 메모리로 부른 다음 저장한다는 말인데...
결국 메모리는 모자라지 않을까 하는 생각이 드네요..

사이트 강좌 좋네요. 한번 쭈욱 둘러보아야겠습니다.
구치리 / 2013/08/02 09:38:42 / 추천 0
결국 파일을 나눠야겠네요... 흐음.. 아쉬워라..
milosz / 2013/08/02 10:00:34 / 추천 0
좀더 메모리 효율이 좋은 언어를 워커로 이용하는 방식도 괜찮구요. 파이썬이나...
나누는건 좀 아쉽군요 ㅎㅎ
한대승(불의회상) / 2013/08/02 10:46:54 / 추천 0
편법이긴 하지만.. 저는 파일명만 *.xls로 하고 그냥 table로 덤프 합니다. ^^
구치리 / 2013/08/02 10:52:53 / 추천 0
//milosz
메모리 효율이 좋은 언어 ㅠㅜ
그 이전에 메모리 효율이 좋은 다른 라이브러리는 없을까요...
찾고는 있는데... phpexcel 이 천하통일한듯 싶네요... ㅠㅜ

만약 한다면 python 으로 작업하고..
작업 완료 여부를 표시하게 해서..
완료 되면 다운 받도록 하게해야겠네요..

//한대승
파일명만 .xls 로 하고 내용은 .csv 같은 형식이라는 말씀이신가요??
자세히 설명좀 해주세요~
한대승(불의회상) / 2013/08/02 10:56:33 / 추천 0
파일명만 .xls로 하구요.

<table>
<tr><td>제목1</td><td>제목2</td></tr>
<tr><td>data1</td><td>data2</td></tr>
.
.
.
</table>

구치리 / 2013/08/02 10:57:46 / 추천 0
 //한대승
좋은 정보 감사합니다
이런 방법이 있었군요.
들국화 / 2013/08/02 14:59:05 / 추천 0
그냥 테이블 형태로 내려 받는것도 좋치만 가장 깔끔 한건 csv가 아닐까 생각이 드네요.
oursong / 2013/08/05 09:53:13 / 추천 0
 병합된 셀 데이터가 있다면 문제겠습니다만, 모든 폼이 정해진 깔끔한 양식으로 셀 병합이 없는 네모 반듯한 엑셀이라면
CI테이블 라이브러리로도 처리 가능합니다. 셀병합을 식별하면 좀 더 작업이 복잡해지긴 하겠지만 불가능하진 않구요.
배강민 / 2013/08/05 11:13:37 / 추천 0
전 요새 excel xml 로 합니다. 표현할 수 있는 범위도 상당하고요.
구치리 / 2013/08/05 11:15:56 / 추천 0
 가장 필요한 기능은 sheet(탭) 기능입니다.

sheet가 없으면 파일이 20개정도 만들어질것 같은데
이걸 하나로 합치는 작업이 노가다라..
sheet가 더 늘어날 가능성도 있고요

구치리 / 2013/08/05 11:37:04 / 추천 0
excel xml 한번 봐야겠네요
메모리 문제만 안일어났으면..
http://sourceforge.net/projects/excelwriterxml/