잡담소장소

javascript에서 엑셀파일 생성하여 다운로드하기 + server side(PHP) 본문

Study ;3

javascript에서 엑셀파일 생성하여 다운로드하기 + server side(PHP)

유부뽀 2014. 10. 28. 15:06


결과적으론 실패(한글 인코딩이 안되서)하였지만 기억해둘겸 남기는 글이다 ㅠㅠ


1. template 에다가 데이터 맵핑해서 다운로드 하는 방법

stackoverflow(링크참조)에서 찾은 방법인데 가장 깔끔하고 한글도 나왔으나

엑셀 타이틀은 어떻게 변경하는지 찾아보진 않았다. 한참 자료 뒤지다가 해당 xml데이터들에 대한 값은 찾은 것같으나 문제는 기존에 사용하고 있는 PHPExcel에서 에러가 나는 바람에 - 엑셀이 아닌데 엑셀인척한다고 에러 뱉어냄 ㅠ

해당 방법은 버려지게 된당 ㅠ_ㅠ 힝


나중에 파일만 다운받을 경우에는 써도 괜찮겠다 싶은..


2. json 데이터를 이용해서 엑셀 만들기

구글링하다가 개인블로그(링크참조)에서 찾은 방법이다

다 좋은데 한글 인코딩이 안된다. escape때문에 한글이 인코딩되어 나온다 ;ㅁ; 망할

charset에다가 utf-8, euc-kr, MS949 다 줘봤지만 말짱 도루묵..ㅠㅠ


그 외 다른 방법(링크참조)에다가 한글 넣어보고 테스트 해봤지만 잘 안되더라

;ㅁ;..

;ㅁ;.....



이렇게 되서 할 수 없이 server side에서 작업하기로 하였다.

애초에 javascript에서 해결하려고 했던 이유는

데이터가 너무 많아서 get으로 보내면 에러가 났고

json으로 보내니까 파일다운로드는 안되고 출력만 되었기 때문이다


삽질 끝에 찾은 방법은

1. form을 임시로 만들어서 submit 하는 방법

2. header를 다른 방법으로 설정하기

두 가지가 있었으나 2번은 상관없었고 1번 방법으로 해결하였다

body에 있는 전체 데이터 form에 submithandler가 걸려 있어서 body 끝에 임시로 append하여 form을 submit하였다

blank때문에 창이 열렸더가 닫히는게 좀 신경쓰이긴하지만-_-;

달리 방법이 없으므로 이걸로 끗끗!!


만세 'ㅁ'/



반응형
Comments