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. JVM virtual memory

    This has been a long-standing complaint with Java, but it's largely meaningless, and usually based o ...

  2. cf B. Fixed Points

    http://codeforces.com/contest/347/problem/B #include <cstdio> #include <cstring> #includ ...

  3. Php基本语法数据类型操作基础训练

    <?php /* * Created on 2015年12月17日 * * To change the template for this generated file go to * Wind ...

  4. poj 1503 大数相加(java)

    代码: import java.math.*; import java.util.Scanner; public class Main { public static void main(String ...

  5. 【POJ】Buy Tickets(线段树)

    点更新用法很巧妙的一道题.倒序很容易的找到该人的位置,而update操作中需要不断的变化下标才能合理的插入.看了别人写的代码,学习了. #include <iostream> #inclu ...

  6. makefile例子《一》

    一.例子 (1)makefile和src源文件不在同一目录下 (2)把.o生成到指定目录下 文件结构目录 ----inc      //放头文件 ----lib //放所需要的.a或者.so文件 -- ...

  7. Linux下用命令格式化U盘

    1.找到U盘位置(已挂载) sudo fdisk -l 如图,我的在/dev/sdc4 2.格式化U盘 sudo mkfs -t vfat /dev/sdc4 -t 后面是格式化为哪种文件系统格式,v ...

  8. 打印log 保存log

    using UnityEngine; using System.Collections; using System.IO; using System; using System.Text; names ...

  9. Velocity知识点总结

    Velocity知识点总结 1. 变量 (1)变量的定义: #set($name = "hello") 说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引號 ...

  10. STL中map,set的基本用法示例

    本文主要是使用了STL中德map和set两个容器,使用了它们本身的一些功能函数(包括迭代器),介绍了它们的基本使用方式,是一个使用熟悉的过程. map的基本使用: #include "std ...