在pom.xml中引入:

  1. <!--处理2003 excel-->
  2. <dependency>
  3. <groupId>org.apache.poi</groupId>
  4. <artifactId>poi</artifactId>
  5. <version>3.16</version>
  6. </dependency>
  7. <!--处理2007 excel-->
  8. <dependency>
  9. <groupId>org.apache.poi</groupId>
  10. <artifactId>poi-ooxml</artifactId>
  11. <version>3.16</version>
  12. </dependency>

applicationContext.xml:

  1. <!--上传组件-->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3. <property name="defaultEncoding" value="utf-8"></property>
  4. <!--1024*1024*5即5M-->
  5. <property name="maxUploadSize" value="5242880"></property>
  6. </bean>

页面:

  1. <div>
  2. <form method="post" action="/Cyberspace/main/informationBatchAdd.do" enctype="multipart/form-data">
  3. <input type="file" id="excelFile" name="file"/>
  4. <button type="submit">批量上传</button>
  5. </form>
  6. </div>

Java后台代码:

  1. @RequestMapping(value = "informationBatchAdd", method = RequestMethod.POST)
  2. @ResponseBody
  3. public void informationBatchAdd(MultipartHttpServletRequest request) {
  4.  
  5. try {
  6. //得到上传的文件
  7. MultipartFile fileFile = request.getFile("file");
  8. //转换成输入流
  9. InputStream in = fileFile.getInputStream();
  10. XSSFWorkbook readWb = new XSSFWorkbook(in);
  11. /*HSSFWorkbook readWb = new HSSFWorkbook(in);*/
  12. //遍历该表格中所有的工作表,i表示工作表的数量 getNumberOfSheets表示工作表的总数
  13. for (int i = 0; i < readWb.getNumberOfSheets(); i++) {
  14. XSSFSheet sheet = readWb.getSheetAt(i);
  15. // 循环行Row
  16. for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
  17. XSSFRow hssfRow = sheet.getRow(rowNum);
  18. if (hssfRow != null) {
  19. for (int colNum = 0; colNum < hssfRow.getPhysicalNumberOfCells(); colNum++) {
  20. System.out.println(hssfRow.getCell(colNum));
  21. }
  22. //赋值实例对象 做插入数据库操作
                  ...
  23. }
  24. }
  25. }
  26.  
  27. } catch (Exception e) {
  28.  
  29. e.printStackTrace();
  30. }
  31.  
  32. }

基于Spring MVC实现基于form表单上传Excel文件,批量导入数据的更多相关文章

  1. C# FormData 文件太大报错404 Form表单上传大文件,无法进入后台Action,页面提示404.

    web.config中添加如下节点 <system.webServer> <security>      <requestFiltering >        &l ...

  2. django 基于form表单上传文件和基于ajax上传文件

    一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...

  3. 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType

    回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ...

  4. vue form表单上传文件

    <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js">< ...

  5. 使用form表单上传文件

    在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免. 1.form的 enctype="multipart/form-data" ...

  6. JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器

    昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ...

  7. 理解流方式上传和form表单上传

    流方式上传: $post_input = 'php://input'; $save_path = dirname( __FILE__ ); $postdata = file_get_contents( ...

  8. PHP CURL 模拟form表单上传遇到的小坑

    1:引用的时候 $parans ['img']=new \CURLFile($param); 传入的文件 在PHP版本5.5以上记得new CURLFile 不然会上传不成功 /** * http p ...

  9. antd实战:表单上传,文件列表的过滤与限制。

    用表单上传组件最痛苦的地方是: 他的诸多行为与纯上传组件不一样,而表单的文档关于这一块基本上没有提,只能自己试. 比如我想做一个上传前的拦截. beforeUpload: (file, fileLis ...

随机推荐

  1. myeclipse10.7导出war包时出错解决办法

    myeclipse10.7的版本破解后,导出war包时报“SECURITY ALERT: INTEGERITY CHECK ERROR”的错误. 选中项目->export->java ee ...

  2. 借鉴+总结!! mysql 客户端命令行下 查询数据并生成文件导出

    方式1:在mysql命令行环境下执行: sql语句+INTO OUTFILE +文件路径/文件名 +编码方式(可选)  例如: select * from user  INTO OUTFILE  '/ ...

  3. 再谈Redis应用场景(转)

    原文:在谈Redis应用场景 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...

  4. Python 去掉文本中空行

    pandas 操作csv文件时,一直报错,排查后发现csv文本中存在很多“空行”: So 需要把空行全部去掉: def clearBlankLine(): file1 = open('text1.tx ...

  5. springboot集成shiro和开涛的动态url问题

    我出现的问题就是一旦/**=authc不管放到前面还是后面都会把所有的资源全部拦截,css和js都访问不到,只需要把开涛的动态url代码改一下就行了(如上图)

  6. Hibernate简单配置

    1.配置构建路径,加载用户库,hibernate4.3.8 MySQL-Driver 2.写User.java      纯POJO+持久化注解=PO @Entity @Table(name=&quo ...

  7. linux下Tomcat shutdown无效

    问题: linux下Tomcat shutdown无效 linux下关闭tomcat后,发现重新启动Tomcat后.port号提示被占用, 原因: 这时可能是项目中的后台线程或者socket依旧在执行 ...

  8. Django框架之模板语法(重要!)

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 1.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  9. python之元组操作

    1.元组创建 tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", &qu ...

  10. ruby项目文件上传功能实现

    这里我将从视图.控制器各个层面进行讲解. rails 提供了文件上传功能,可以直接进行下面的编码 <%= form_for :document, :html =>{:multipart = ...