jsp내용을 그대로 엑셀로 다운받고자 할 때 사용하면 된다.
jsp 내용
샘플로 만든 내용이라 임의로 form 을 만들어 전송 했다.
<script type="text/javascript">
function excelDownLoad(){
let newForm = $('<form></form>');
newForm.attr("name", "newForm");
newForm.attr("method", "post");
newForm.attr("action", "/excelDownLoad.do");
newForm.appendTo('body');
newForm.submit();
}
</script>
<html>
<button type="button" onclick="excelDownLoad();">엑셀 다운로드 </button>
</html>
|
cs |
Controller 내용
각자 사용하는 프레임워크에 맞춰 변경하여 사용하면 된다.
@requestMapping("/excelDownLoad.do")
public ModalAndView excelDown(){
HashMap<String, Object> model = new HashMap<>();
model.put("name", "홍길동");
return this.direct("/excelDown.jsp", model);
}
|
cs |
jsp 내용
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>엑셀 다운로드</title>
</head>
<body>
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "inline; filename=ExcelDown.xls");
%>
<table border="1">
<thead>
<tr>
<th style="background-color:#FF3366">번호</th>
<th>제목</th>
<th>작성자</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>테스트</td>
<td>${name}</td>
</tr>
</tbody>
</table>
</body>
</html>
|
cs |
jsp에서의 엑셀 다운로드는 xlsx 지원은 되지 않고 xls 만 지원된다고 한다. (엑셀2003 버전)
ContentType 으로 문서를 만들 때 BinaryView를 사용하게 되는데 BinaryView가 Excel2003만 고려되어 있어서 라고 한다.
SheetJS의 라이브러리를 사용하면 가능하다고도 하는데 추후 테스트 하고 다시 포스팅 해 봐야겠다.
'WORK > JAVA' 카테고리의 다른 글
Eclipse 에서 Maven Project War Export (0) | 2023.12.19 |
---|---|
MyBatis XML resultMap의 list 에 list 조회하기 (0) | 2023.11.07 |
spring boot 에러페이지 만들기 (1) | 2022.11.01 |
이클립스 git 접속정보 저장 (1) | 2022.09.29 |
curl REST API 호출 및 값 파싱 예제 (0) | 2022.09.19 |