servlet:

private static final long FILE_MAX_SIZE = 4 * 1024 * 1024;

if (!ServletFileUpload.isMultipartContent(request)) {  
          System.out.println("失败1");
         }  
         String fileTempPath = this.getServletContext().getRealPath("/") + "filetemp";  
         File tempDir = new File(fileTempPath);  
         if (!tempDir.exists()) {  
             tempDir.mkdirs();  
         }  
         FileItemFactory factory = new DiskFileItemFactory(4096, tempDir);  
   
         ServletFileUpload sfu = new ServletFileUpload(factory);  
         sfu.setFileSizeMax(FILE_MAX_SIZE);  
   
         List<FileItem> fileItems = null;  
   
         try {  
             fileItems = sfu.parseRequest(request);  
         } catch (FileUploadException e) {  
             e.printStackTrace();  
             if (e instanceof SizeLimitExceededException) {  
              
             }  
             return;  
         }  
         if (fileItems == null || fileItems.size() == 0) {  
             System.out.println("失败2" );
             return;  
         }

Workbook rwb;
  try {
   rwb = Workbook.getWorkbook(fileItems.get(0).getInputStream());
   int sheetCount=rwb.getNumberOfSheets();
    Sheet rs=rwb.getSheet(0);
    int rows=rs.getRows(); //行
    int cols=rs.getColumns(); //列     -- getCell(列,行)
    System.out.println(rows+"-*-*-*-"+cols);
    for (int i = 2; i < rows ; i++) {
     Cell cell = rs.getCell(i, 0);
     System.out.print(rs.getCell(0, i).getContents()+"-*-");
     System.out.print(rs.getCell(1, i).getContents()+"-*-");
     System.out.print(rs.getCell(2, i).getContents()+"-*-");
     System.out.print(rs.getCell(3, i).getContents()+"-*-");
     System.out.print(rs.getCell(4, i).getContents()+"-*-");
     System.out.print(rs.getCell(5, i).getContents()+"-*-");
     System.out.print(rs.getCell(6, i).getContents()+"-*-");
     System.out.print(rs.getCell(7, i).getContents()+"-*-");
     System.out.print(rs.getCell(8, i).getContents()+"-*-");
     System.out.print(rs.getCell(9, i).getContents()+"-*-");
     System.out.println();
    }
  } catch (BiffException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   fileItems.get(0).getInputStream().close();
   
  }

jsp:

<script type="text/javascript">
 function CheckExcel() {
  var mime = document.getElementById('Excelfile').value;
  mime = mime.toLowerCase().substr(mime.lastIndexOf("."));
  if (!(mime == ".xls")) {
   alert("请导入正确的EXCEL文件,仅支持xls格式!");
   return false;
  }
 }
</script>
    <body>
     <form action="servlet/ExcelTest" enctype="multipart/form-data" method="post" onsubmit="return CheckExcel()">
      <input type="file" name="Excelfile" onchange="CheckExcel(this)" id="Excelfile"/>

<input type="submit" value="读EXCEL"/>
     </form>
  </body>

javaweb jsp页面上传excel文件的更多相关文章

  1. java上传excel文件及解析

      java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...

  2. activity通过流程实例id动态获取流程图并展示在jsp页面上

    提供的Service方法如下: Java /** * 获取当前任务流程图 * * @param processInstanceId * @return */ @Override public Inpu ...

  3. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. asp.net上传Excel文件到服务端进行读取

    1.我们IIS是使用7.5,由于在网站中上传Excel文件到服务端进行数据读取时候出现读取失败情况.一开始以为是没有按照office软件问题,其实不然,因为server是64位操作系统,如果我们要使用 ...

  5. 从数据库提取数据通过jstl显示在jsp页面上

    从数据库提取数据通过jstl显示在jsp页面上 1.ConnectDB.java连接数据库,把数据转换成list public class ConnectDB { private final stat ...

  6. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  7. Django框架(上传Excel文件并读取)

    博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...

  8. Django中从本地上传excel文件并将数据存储到数据库

    Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...

  9. js上传Excel文件

    一.问题 需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用.了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都 ...

随机推荐

  1. Xshell4连接Linux后 win快捷键锁屏

    今天在使用Xshell连接CentOS后 使用Vim编辑器编辑完后 习惯性的按了Ctrl+S 然后按什么都不起作用 只能重新连接 通过查资料得知 Ctrl + S 是Linux 锁屏的快捷键 要解除锁 ...

  2. 开心菜鸟系列学习笔记------javascript(5)

    一.this的关系    1)全局代码中的this    2)函数代码中的this在函数代码中使用this时很有趣,这种情况很难且会导致很多问题. 这种类型的代码中,this值的首要特点(或许是最主要 ...

  3. XJOI网上同步训练DAY3 T1

    思路:看来我真是思博了,这么简单的题目居然没想到,而且我对复杂度的判定也有点问题.. 首先我们选了一个位置i的b,那一定只对i和以后的位置造成改变,因此我们可以这样看: 我们从前往后选,发现一个位置的 ...

  4. delphi 打开文件夹并定位到一个文件(关键是/select参数)

    strFileName := FcxLV[nIndex].Items.Item[FcxLV[nIndex].ItemIndex].SubItems.Strings[0]; //路径  ShellExe ...

  5. 关于部分应用无法向POJ提交代码的解决方案

    有个一年没做过题了,最近有骚年反映他们的VirtualJudge无法做POJ的题目,一直都是JudgeError状态. 于是登录到那个VJudge试了试,代码的确一直无法提交成功,他们的服务器发回50 ...

  6. hdu 4336 Card Collector(期望 dp 状态压缩)

    Problem Description In your childhood, people in the famous novel Water Margin, you will win an amaz ...

  7. MVC Razor视图引擎

    Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...

  8. copy模块

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #copy复制对象 #作用:提供一些函数,可以使用潜复制和深复制进行 ...

  9. Socket通信原理和实践

    我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠so ...

  10. iOS 面试常见问题最全梳理

    序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态 ...