JSP를 이용하여 엑셀 파일을 작성할때, 아래의 내용을 JSP에 추가한다.


<%@ page language="java" contentType="application/vnd.ms-excel; name='excel', text/html; charset=euc-kr"

        pageEncoding="EUC-KR"%>

<%
       response.setHeader("Content-Disposition", "attachment; filename=엑셀파일명.xls");
       response.setHeader("Content-Description", "JSP Generated Data");
%>


 

하지만 이것 만으론 부족할 때가 있다.

 

대부분의 경우 페이지 상단에 저렇게 선언 해주면 한글이 깨지지 않았는데,

 

얼마전 엑셀 파일이 포함하고 있는 데이터에 따라서 한글 깨짐 현상이 발생하는 것을 경험했다.

 

로직의 문제는 아닌데, 딱히 이유도 모르겠고, 한참을 실갱이 하던 중,

 

간혹, 데이터에 따라 위의 내용만으로는 부족하다는 것을 알고 열심히 구글링한 결과! 대처법을 알게되었다.

 

이런 경우 META 태그를 써서 한번더 캐릭터 타입을 잡아 주어야 한다는 것을 알게 되었다.

 

JSP 안에서의 위치는 아래와 같다. 참고하여, 한글깨짐이 발생하는 퐝당 경험은 없길...


<%@ page language="java" contentType="application/vnd.ms-excel; name='excel', text/html; charset=euc-kr"

        pageEncoding="EUC-KR"%>
<html>
       <head><meta http-equiv="Content-Type" content="text/html; charset=euc-kr" /></head>
<%
       response.setHeader("Content-Disposition", "attachment; filename=엑셀파일명.xls");
       response.setHeader
("Content-Description", "JSP Generated Data");
%>
      <body>
                  <!-- 본문 및 컨텐츠 시작 -->
      </body>
</html>