上传excel文件 并获取其信息(使用file上传组件) .

web.xml


  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <web-appversion="3.0"xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  6. <display-name>upload</display-name>
  7. <context-param>
  8. <param-name>uploadRootKey</param-name>
  9. <param-value>unicomEOMS.root</param-value>
  10. </context-param>
  11. <servlet>
  12. <servlet-name>upload</servlet-name>
  13. <servlet-class>com.test.Upload</servlet-class>
  14. </servlet>
  15. <servlet-mapping>
  16. <servlet-name>upload</servlet-name>
  17. <url-pattern>/upload/upload</url-pattern>
  18. </servlet-mapping>
  19. <servlet>
  20. <servlet-name>ReadExcelDemo</servlet-name>
  21. <servlet-class>com.test.ReadExcelDemo</servlet-class>
  22. </servlet>
  23. <servlet-mapping>
  24. <servlet-name>ReadExcelDemo</servlet-name>
  25. <url-pattern>/ReadExcelDemo/ReadExcelDemo</url-pattern>
  26. </servlet-mapping>
  27. <welcome-file-list>
  28. <welcome-file>index.jsp</welcome-file>
  29. </welcome-file-list>
  30. </web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	
	<display-name>upload</display-name>
	
	<context-param>
    	<param-name>uploadRootKey</param-name>
		<param-value>unicomEOMS.root</param-value>  
	</context-param>
	
	<servlet>
		<servlet-name>upload</servlet-name>
		<servlet-class>com.test.Upload</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>upload</servlet-name>
		<url-pattern>/upload/upload</url-pattern>
	</servlet-mapping>
	
	<servlet>
		<servlet-name>ReadExcelDemo</servlet-name>
		<servlet-class>com.test.ReadExcelDemo</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>ReadExcelDemo</servlet-name>
		<url-pattern>/ReadExcelDemo/ReadExcelDemo</url-pattern>
	</servlet-mapping>
	
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


java代码

  1. packagecom.test;
  2. importjava.io.IOException;
  3. importjava.io.InputStream;
  4. importjava.util.List;
  5. importjavax.servlet.ServletException;
  6. importjavax.servlet.http.HttpServlet;
  7. importjavax.servlet.http.HttpServletRequest;
  8. importjavax.servlet.http.HttpServletResponse;
  9. importjxl.Cell;
  10. importjxl.Sheet;
  11. importjxl.Workbook;
  12. importjxl.read.biff.BiffException;
  13. importorg.apache.commons.fileupload.FileItem;
  14. importorg.apache.commons.fileupload.FileUploadException;
  15. importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
  16. importorg.apache.commons.fileupload.servlet.ServletFileUpload;
  17. publicclassUploadextendsHttpServlet{
  18. privatestaticfinallongserialVersionUID=6777945010008132796L;
  19. //@Override
  20. //protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
  21. //super.doGet(req,resp);
  22. //System.out.println("doGet");
  23. //resp.sendRedirect("/upload/index.jsp");
  24. //}
  25. //
  26. @Override
  27. protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
  28. System.out.println("-----------upload-----------");
  29. InputStreamis=null;
  30. Workbookworkbook=null;
  31. try{
  32. List<FileItem>items=newServletFileUpload(newDiskFileItemFactory()).parseRequest(req);
  33. System.out.println("itemssizeis:"+items.size());
  34. for(FileItemitem:items){
  35. if(item.isFormField()){
  36. System.out.println(item.getFieldName());
  37. System.out.println(item.getString());
  38. }else{
  39. System.out.println(item.getFieldName());
  40. is=item.getInputStream();
  41. workbook=Workbook.getWorkbook(is);
  42. }
  43. }
  44. }catch(FileUploadExceptione){
  45. e.printStackTrace();
  46. }catch(BiffExceptione){
  47. e.printStackTrace();
  48. }
  49. Sheet[]sheetNum=workbook.getSheets();
  50. System.out.println("打印sheet的個數:"+sheetNum.length);
  51. Sheetsheet=workbook.getSheet(0);
  52. Cellcell=null;
  53. intcolumnCount=sheet.getColumns();
  54. introwCount=sheet.getRows();
  55. for(inti=0;i<rowCount;i++){
  56. for(intj=0;j<columnCount;j++){
  57. cell=sheet.getCell(j,i);
  58. System.out.print(cell.getContents());
  59. }
  60. System.out.println("\n");
  61. }
  62. resp.sendRedirect("/importexcel/index.jsp");
  63. workbook.close();
  64. }
  65. }
package com.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class Upload extends HttpServlet {

	private static final long serialVersionUID = 6777945010008132796L;

//	@Override
//	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//		super.doGet(req, resp);
//		System.out.println("doGet");
//		resp.sendRedirect("/upload/index.jsp");
//	}
//	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		System.out.println("----------- upload -----------");
		
		InputStream is = null;
		Workbook workbook = null;
		
		try {
			List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(req);
			System.out.println("items size is :"+items.size());
			for (FileItem item : items) {
				if (item.isFormField()) {
					System.out.println(item.getFieldName());
					System.out.println(item.getString());
				} else {
					System.out.println(item.getFieldName());
					is = item.getInputStream();
					workbook = Workbook.getWorkbook(is);
				}
			}
		} catch (FileUploadException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}
		
		
		Sheet[] sheetNum = workbook.getSheets();
	       System.out.println("打印sheet的個數:"+sheetNum.length);
	       Sheet sheet = workbook.getSheet(0);
	       Cell cell = null;

	       int columnCount = sheet.getColumns();
	       int rowCount = sheet.getRows();
	       for (int i = 0; i < rowCount; i++) {
	           for (int j = 0; j < columnCount; j++) {
	              cell = sheet.getCell(j, i);
	              System.out.print(cell.getContents());
	           }
	           System.out.println(" \n");
	       }
	       resp.sendRedirect("/importexcel/index.jsp");   
	       workbook.close();
	}
}

jsp代码

[javascript] view plain copy print ?
  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()
  5. +path+"/";
  6. %>
  7. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  8. <html>
  9. <head>
  10. <basehref="<%=basePath%>">
  11. <title>MyJSP'index.jsp'startingpage</title>
  12. <metahttp-equiv="pragma"content="no-cache">
  13. <metahttp-equiv="cache-control"content="no-cache">
  14. <metahttp-equiv="expires"content="0">
  15. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  16. <metahttp-equiv="description"content="Thisismypage">
  17. </head>
  18. <body>
  19. <formaction="upload/upload"enctype="multipart/form-data"method="post">
  20. <inputtype="file"name="myfile"/>
  21. <inputtype="submit"/>
  22. </form>
  23. </body>
  24. </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>

<body>

<form action="upload/upload" enctype="multipart/form-data" method="post">
	<input type="file" name="myfile" />
	<input type="submit" />
</form>
	
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值