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. 懂说话,让冲突、尴尬时刻都bye-bye

    回忆一下自己从小到大的成长历程,你容不容易交到新朋友?在不熟悉的社交场合中,你是否也曾面临坐立难安.不知从何聊起的窘境?事实上,无论身处学校或社会,担任职务是基础或高阶,终其一生都会派上用场的能力,就 ...

  2. POJ 2152 Fire(树形DP)

    题意: 思路:令F[i][j]表示 的最小费用.Best[i]表示以i为根节点的子树多有节点都找到负责消防站的最小费用. 好难的题... #include<algorithm> #incl ...

  3. shell 脚本FTP自动上传文件

    下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上. 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件. ...

  4. UDP数据接收服务器

    简介 这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测: 还支持键盘命令响应,以将数据写到新的文件, ...

  5. cf446A DZY Loves Sequences

    A. DZY Loves Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...

  6. VS如何关闭 ReSharper 提示

    IDE->工具->选项->click "suspend now" button

  7. HDU4171--bfs+树

    第一开始想成了DP.尼玛后来才发现只有N条边,那就简单了.. 从起点S遍历整棵树,从某点跳出来回到终点T,问最短路长度.然而从某点跳出时走过的路径是一个定值.... 长度为整棵树的边长和sum*2-d ...

  8. Python 协程(gevent)

    协程,又叫微线程,协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此: 协程能保留上 ...

  9. 在OC和Swift中使用IBDesignable/IBInspectable

    iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性.例 如:UIView.layer.borderWidth.bord ...

  10. 涂抹Oracle笔记1-创建数据库及配置监听程序

    一.安装ORACLE数据库软件及创建实例OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.O ...