간단하게 excel 파일 만드는 법
난 struts 프레임워크에서 사용했지만 html의 contentType 속성 변경을
이용한 방법이라 다른곳에 적용하기에도 간편함
////////////////////////////////////////////
test_excel.jsp
<%@ page language="java" contentType="application/vnd.ms-excel; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%
//파일 이름 설정부분
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
String today = formatter.format(new java.util.Date());
String filename = new String("테스트_".getBytes("KSC5601"), "8859_1") + today;
response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
response.setHeader("Content-Description", "JSP Generated Data");
%>
</head>
<body>
<table border='1'>
<tr>
<th>번호</th>
<th>data1</th>
<th>data2</th>
<th>data3</th>
<th>data4</th>
</tr>
<s:iterator value="testList">
<tr align='center' >
<td>${ROW_NUM}</td>
<td>${DATA_1}</td>
<td>${DATA_2}</td>
<td>${DATA_3}</td>
<td>${DATA_4}</td>
</tr>
</s:iterator>
</table>
</body>
</html>
////////////////////////위의 소스를 호출해주면 엑셀파일에 body안의 테이블형태로 데이터가
저장되는것을 확인 할 수 있습니다.
ex) 호출부분
testAction.java
public String testExcel() throws Exception {
try {
//출력할 리스트 생성부분
((TestVo)vo).setTestList(((List<HashMap>)((TestDao)dao).excel(((TestVo)vo))));
} catch (Exception e) {
logger.error(" CLASS : " + this.getClass().getName() +"===" + e);
return ERROR;
}
return SUCCESS;
}
/////////////////////////////////////////////////////////////
testDao.java
public List<HashMap> excel(Object obj) throws Exception {
// TODO Auto-generated method stub
return (List<HashMap>)getSqlMapClientTemplate.getSqlMapClient().queryForList("test.sql.test_excel",obj);
}
////////////////////////////////////////////////////////////
testVo.java
private List<HashMap> testList;
public List<HashMap> gettestList() {
return testList;
}
public void settestList(List<HashMap> testList) {
this.testList= testList;
}
//////////////////////////////////////////////////////////////////
test-struts.xml
//경로부분 생략
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="test" namespace="~~~~~~~~~~" extends="struts-login-interceptors">
<action name="testExcel" method="testExcel" class="~~~~~~~~~~~">
<result name="success">/~~~~~~/test_excel.jsp</result>
</action>
</package>
</struts>
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
이런식으로 호출하면 된다.
'공부 > JAVA' 카테고리의 다른 글
(Eclipse) sysout 자동완성 안될 때 (2) | 2016.03.09 |
---|---|
(spring)[에러] Maven Java EE Configuration Problem (1) | 2015.12.28 |
(Spring) jsonview (ModelAndView를 이용한 ajax 사용) (0) | 2015.11.20 |
(spring) web.xml (0) | 2015.10.21 |
(함수) split (문자열 자르기) (0) | 2015.10.01 |