티스토리 뷰
JSP 파일 업로드(엑셀)
파일 업로드 관련 jar: commons-fileupload-1.2.1.jar / commons-io-1.4.jar
=> http://blog.naver.com/wonsukdream/30057867376
엑셀 파일 읽기 관련 jar: jxl.jar => http://www.andykhan.com ( JExcelApi v2.2.16 ) / 관련 팁 => http://www.okjsp.pe.kr/seq/25170
위의 jar 파일을 WEB-INF\lib 로
파일 업로드: fileUploadForm.jsp / processFileUpload.jsp
엑셀 파일 읽기: readExcel.jsp
4342.07.23.THU 테스트 완료.
---- fileUploadForm.jsp ----
<%@ page contentType="text/html; charset=utf-8" %> ==> 한글 깨짐 현상 일어남
==> (변경) <%@ page contentType="text/html" pageEncoding="EUC-KR" %>
<html><head><title>파일 업로드
폼</title></head>
<body>
<form action="processFileUpload.jsp" method="post" enctype="multipart/form-data">
파일1: <input type="file" name="file1" /><br/>
파일2: <input
type="file" name="file2" /><br/>
파일3: <input type="file"
name="file3" /><br/>
파라미터1: <input type="text" name="param1" /><br/>
파라미터2:
<input type="text" name="param2" /><br/>
파라미터3: <input
type="text" name="param3" /><br/>
<input type="submit" value="전송" />
</form></body></html>
---- processFileUpload.jsp ----
<%@ page contentType="text/html; charset=utf-8" %> ==> 한글 깨짐 현상 일어남
==> (변경) <%@ page contentType="text/html" pageEncoding="EUC-KR" %>
<%@ page
import="org.apache.commons.fileupload.FileItem" %>
<%@ page
import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@
page import="org.apache.commons.fileupload.servlet.ServletFileUpload"
%>
<%@ page import="java.util.List" %>
<%@ page
import="java.util.Iterator" %>
<%@ page import="java.io.File"
%>
<%@ page import="java.io.BufferedInputStream" %>
<%@ page
import="java.io.BufferedOutputStream" %>
<%@ page
import="java.io.FileOutputStream" %>
<%@ page
import="java.io.IOException" %>
<html><head><title>파일 업로드 처리</title></head>
<body>
<%
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if( isMultipart ) {
File temporaryDir = new File("/Temp/");
// Create a factory for disk-based file items
DiskFileItemFactory
factory = new DiskFileItemFactory();
// Set factory
constraints
factory.setSizeThreshold(1024*100);
factory.setRepository(temporaryDir);
// Create a new file upload
handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(1024*1024);
// Parse the request
List /* FileItem */ items = upload.parseRequest(request);
//
Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem fileItem =
(FileItem) iter.next();
if (fileItem.isFormField())
{
// processFormField(fileItem);
out.println("\n폼 파라미터 : " + fileItem.getFieldName() + "=" +
fileItem.getString("utf-8") + "<br/>");
} else {
// processUploadedFile(fileItem);
out.println("\n파일 : " + fileItem.getFieldName() + "=<pre>" +
fileItem.getString() + "</pre>(" + fileItem.getSize() + "
bytes)<br/>");
// 업로드한 파일이 존재하는 경우
if( fileItem.getSize() > 0 ) {
int idx =
fileItem.getName().lastIndexOf("\\");
if(
idx == -1 ) {
idx =
fileItem.getName().lastIndexOf("/");
}
String fileName = fileItem.getName().substring(idx +
1);
try {
out.println("\ntry:::>>>>");
File
uploadedFile = new File("/", fileName);
fileItem.write(uploadedFile);
} catch(IOException ex)
{}
}
}
}
} else {
out.println("인코딩
타입이 multipart/form-data 가 아님.");
}
%>
</body></html>
---- readExcel.jsp ----
[ ver. 1.0 ]
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page
import="java.io.File,java.util.Date,jxl.*"%>
<%
Workbook workbook
= Workbook.getWorkbook(new File("C:/temp/code_agent_class.xls"));
Sheet sheet = workbook.getSheet(0);
Cell a1 = sheet.getCell(0,0);
Cell b2 = sheet.getCell(1,0);
Cell c3 = sheet.getCell(2,0);
String stringa1 = a1.getContents();
String stringb2 = b2.getContents();
String stringc3 = c3.getContents();
workbook.close();
%>
<%=stringa1%>
<%=stringb2%>
<%=stringc3%>
[ ver. 2.0 ]
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page
import="java.io.File,java.util.Date,jxl.*"%>
<%
try {
Workbook workbook = Workbook.getWorkbook(new
File("C:/temp/code_agent_class.xls"));
Sheet sheet =
workbook.getSheet(0);
int row = sheet.getRows();
int col = 0;
Cell cell;
for(int i = 1; i < row; i++) {
col = 0;
cell =
sheet.getCell(col,i);
String string1 = cell.getContents();
col = 1;
cell = sheet.getCell(col,i);
String string2 =
cell.getContents();
col = 2;
cell = sheet.getCell(col,i);
String string3 =
cell.getContents();
%>
<%=string1%> /
<%=string2%>
/
<%=string3%>
<br/>
<%
}
workbook.close();
} catch (Exception e)
{
System.out.println("==========" + e.getMessage());
}
%>
[출처] [JSP] 파일 업로드 및 엑셀 파일 읽어 들이기|작성자 원석넷
'WEB > JSP' 카테고리의 다른 글
java.lang.IllegalArgumentException: Not writable 에러 (0) | 2011.10.11 |
---|---|
JSP & 서블릿정리 (0) | 2011.10.11 |
JSP에서 파일 업로드 확장자 체크하기 (3) | 2011.10.11 |
파일업로드 (FileItem, DiskFileItemFactory) (0) | 2011.10.11 |
request.getParameter 한글 깨질 때 처리 방법 (0) | 2011.10.11 |
- Total
- Today
- Yesterday
- jason maraz
- java 인스턴스
- java 객체
- 불독맨션 좋아요
- 이클립스 단축키
- javascript강의
- This Android SDK requires An...e ADT to the latest version
- MySQL
- 스크린세이버
- eclipse svn
- dom vs sax
- 자바정의
- java파일복사
- 문자열자르기
- Split
- 갈릴레오 svn
- 체크박스
- lol 서포터
- 펌방지해제
- bruno mars marry you
- 타루 예뻐할께
- jason marz im yours
- 자바스크립트강의
- sax vs dom
- 자바 객체
- marry you 프로포즈
- Marry You
- java파일삭제
- Mysql명령어
- eclipse 단축키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |