펌도 펌도 이런 불펌을 ㅋㅋㅋ
=========================================================================================
예를들어 제목(title)을 조건으로 검색하여 리스트를 조회하는 화면이 있을때에
<EXCEL 파일저장>이라는 글자를 클릭하면 조건으로 들어가는 제목(title)을 parameter로
갖고 엑셀파일을 보여줄수 있는 pop-up대용의 jsp화면으로 보내준다.
========================================
list.jsp
========================================
<%@ page contentType="text/html;charset=euc-kr" %>
<html>
.....
function toXLS() {
var address = "/jsp/excel.jsp?title=타이틀&file_name=리스트.xls";
location.href = address;
}
.....
<body>
.....
<a href="javascript:toXLS()"><strong>EXCEL 파일저장</strong></a>
.....
</body>
</html>
========================================
지금의 코드에 이어 나오는 excel.jsp가 실제적으로 더 중요한 코드라 할수 있는데
맨처음에 jsp화면에서 설정코드를 눈여겨보아야 한다.
========================================
excel.jsp
========================================
<%@ page contentType="application/vnd.ms-excel;charset=euc-kr" %>
===> contentType를 반드시 위와같이 정의해주어야 한다.
<%
String file_name = request.getParameter("title");
response.setHeader("Content-Disposition", "attachment; filename=""+file_name+"";");
===> 저장할시에 기본적으로 설정되는 파일명을 지정하고(여기서는 order_list.xls)
반드시 attachment로 설정을 해야 파일열기,저장 중에 선택하는 메시지가 뜬다.
response.setHeader("Content-Description", "JSP Generated Data");
===> 정확히 어떤 정의였는지는 자세히 기억이 나지 않지만 필수적으로 설정해야한다.
String title = request.getParameter("title");
...( title파라미터를 이용하여 DB에서 해당 목록을 ResultSet으로 받아온다. )
%>
<html>
<head>
<title>엑셀파일변환</title>
</head>
<body bgcolor=white>
<table border=1>
<tr bgcolor="#CACACA">
<th>지시일자</th>
<th>완료일</th>
<th>담당자</th>
<th>현 황</th>
<th>제 목</th>
</tr>
<head>
<title>엑셀파일변환</title>
</head>
<body bgcolor=white>
<table border=1>
<tr bgcolor="#CACACA">
<th>지시일자</th>
<th>완료일</th>
<th>담당자</th>
<th>현 황</th>
<th>제 목</th>
</tr>
<%
while(rs.next()) {
%>
<tr>
<td><%=rs.getString("ord_date")%></td>
<td><%=rs.getString("cmp_date")%></td>
<td><%=rs.getString("charge_name")%></td>
<td><%=rs.getString("state_name")%></td>
<td><%=rs.getString("subject")%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
while(rs.next()) {
%>
<tr>
<td><%=rs.getString("ord_date")%></td>
<td><%=rs.getString("cmp_date")%></td>
<td><%=rs.getString("charge_name")%></td>
<td><%=rs.getString("state_name")%></td>
<td><%=rs.getString("subject")%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
========================================
이렇게 화면이 만들어지면 해당 <EXCEL 파일저장>을 클릭하게되면 order_list.xls(지정한파일명)
를 현재 위치에서 열것인지 저장할 것인지를 묻는 창이 뜬다.
여기에서 저장을 하게되면 이름을 바꿔서 저장이 가능하고, 열기를 선택하면 excel.jsp에
구성된 내용들이 현재화면에 엑셀형식으로 보여지게 되는것이다.
처음 참고자료를 뒤졌을때 excel.jsp의 attachment 부분이 다른방식으로 지정되면 곧바로 엑셀파일
열기가 실행되어 난감했던 기억이 난다.
반드시 attachment을 해야만 저장을 묻는다는 것을 기억하고.. 또 기억하자 ㅡ_ㅡ/
댓글 없음:
댓글 쓰기