上传excel文件 并获取其信息(使用file上传组件)
2012-11-19 16:31
573 查看
先搭建个小环境
web.xml
java代码
jsp代码
貌似就这么简单,
偶整了很久,他丫的不知道为什么前台的request接受不到。
web.xml
<?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代码
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代码
<%@ 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>
貌似就这么简单,
偶整了很久,他丫的不知道为什么前台的request接受不到。
相关文章推荐
- O'Reilly cos上传组件的使用(2/3) - 获取文件信息
- Java 通过使用File类获取文件信息 (基础的)
- Java 通过使用File类获取文件信息
- MVC文件上传08-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹
- 获取Exe文件版本信息的函数(使用GetFileVersionInfo得到TFileVersionInfo结构体,包含12项内容)
- MVC文件上传05-使用客户端jQuery-File-Upload插件和服务端Backload组件自定义上传文件夹
- android--------根据文件路径使用File类获取文件相关信息
- android--------根据文件路径使用File类获取文件相关信息
- spring mvc 下使用ajaxfileupload.js 异步上传文件 并返回信息 各种问题解决
- 本文使用c#通过oledb可获取excel文件表的结构信息,同理也可以获得access等数据库的表结构信息,实现如下:
- MVC文件上传04-使用客户端jQuery-File-Upload插件和服务端Backload组件实现多文件异步上传
- android--------根据文件路径使用File类获取文件相关信息
- 在托管应用程序中使用 DirectShow 组件获取视频文件截图和 FourCC 信息
- [置顶]关于使用input type=file 标签上传文件的注意细节(上传文件 无法获取文件 问题)
- 使用smartUpload组件进行文件上传以及获取文本数据
- MVC文件上传07-使用客户端jQuery-File-Upload插件和服务端Backload组件裁剪上传图片
- 使用ServletFileUpload 实现文件上传 和获取文件信息
- 关于使用input type=file 标签上传文件的注意细节(上传文件 无法获取文件 问题)
- Java源码——使用JFileChooser获取文件及目录信息(Obtain file and directory information)
- MVC文件上传06-使用客户端jQuery-File-Upload插件和服务端Backload组件自定义控制器上传多个文件