SSM框架使用poi导入导出Excel的详细方法

 更新时间:2021年03月29日 09:56:48   作者:杨延超  
这篇文章主要介绍了SSM框架使用poi导入导出Excel,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.首先我们先导入poi和文件上传的依赖

  <!--POI-->
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml-schemas</artifactId>
      <version>3.14-beta1</version>
    </dependency>

     <!--文件上传依赖-->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.2</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>  

2.在spring-mvc.xml中配置文件上传解析器

 <!-- 配置文件上传解析器 -->
  <!-- id 的值是固定的-->
  <bean id="multipartResolver"
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 设置上传文件的最大尺寸为 5MB -->
    <property name="maxUploadSize">
      <value>5242880</value>
    </property>
  </bean>

3.创建index.html

<!-- excel文件导出 -->
<p><a href="User/exportExcel.do" rel="external nofollow" >导出</a>
<!-- excel文件导入 -->
<form action="User/importExcel.do" method="post" enctype="multipart/form-data">
  <input type="file" name="userExcel" />
  <input type="submit" value="导入">
</form>

4.创建实体类

public class User {
  private Integer id;
  private String username;
  private String password;
  /* get 和 set */
  }

5.Controller层

 /**
   * 导出Excel
   * @param request
   * @param response
   */
  @RequestMapping("/exportExcel")
  @ResponseBody
  public void exportExcel(HttpServletRequest request, HttpServletResponse response){
    try {
      //获取数据源
      List<User> userList = service.queryUserAll();
      //导出excel
      response.setHeader("Content-Disposition","attachment;filename="+new String("用户信息.xls".getBytes(),"ISO-8859-1"));
      response.setContentType("application/x-excel;charset=UTF-8");
      OutputStream outputStream = response.getOutputStream();
      //导出
      service.exportExcel(userList,outputStream);
      outputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
/**
   * 导入exc
   * @param userExcel
   * @param request
   * @param session
   * @return
   */

  @RequestMapping("/importExcel")
  @ResponseBody
  public String importExcel(MultipartFile userExcel, HttpServletRequest request, HttpSession session) throws IOException, InvalidFormatException {
    if(userExcel == null){
      session.setAttribute("excelName", "未上传文件,上传失败!");
      return null;
    }
    String userExcelFileName = userExcel.getOriginalFilename();
    if(!userExcelFileName.matches("^.+\\.(?i)((xls)|(xlsx))$")){
      session.setAttribute("excelName", "文件格式不正确!请使用.xls或.xlsx后缀的文档,导入失败!");
      return null;
    }
    //导入
      service.importExcel(userExcel);
      session.setAttribute("excelName", "导入成功!");
      return "redirect:queryUserAll.do";
  }

6.运行测试

在这里插入图片描述

1.点击导出将数据库的内容以后缀为 .xls的文件下载下来

在这里插入图片描述

2. 选择Excel文件点击导入会将文件里的内容导入到数据库中

在这里插入图片描述

在这里插入图片描述

到此这篇关于SSM框架使用poi导入导出Excel的文章就介绍到这了,更多相关SSM框架导入导出Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringJPA 做分页条件查询的代码实践

    SpringJPA 做分页条件查询的代码实践

    相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到,今天给大家分享SpringJPA 做分页条件查询的案例代码,感兴趣的朋友一起看看吧
    2024-03-03
  • Spring @Transactional注解失效解决方案

    Spring @Transactional注解失效解决方案

    这篇文章主要介绍了Spring @Transactional注解失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • IDEA修改生成jar包名字的两种方法实现

    IDEA修改生成jar包名字的两种方法实现

    本文主要介绍了IDEA修改生成jar包名字的两种方法实现,通过简单的步骤,您可以修改项目名称并在打包时使用新的名称,具有一定的参考价值,感兴趣的可以了解下
    2023-08-08
  • java经典问题:连个字符串互为回环变位

    java经典问题:连个字符串互为回环变位

    连个字符串互为回环变位经常出现在java程序员面试中,这个是考验程序员的解题思路和方法的最经典的一题,小编为大家详细分析一下,一起来学习吧。
    2017-11-11
  • JAVA编程实现TCP网络通讯的方法示例

    JAVA编程实现TCP网络通讯的方法示例

    这篇文章主要介绍了JAVA编程实现TCP网络通讯的方法,简单说明了TCP通讯的原理并结合具体实例形式分析了java实现TCP通讯的步骤与相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • 聊聊如何在springboot中添加模版

    聊聊如何在springboot中添加模版

    本文,我们谈谈如何在 spring boot 中添加模版,因为有时候我们也是需要后端渲染的嘛,比如公司官网,文中有详细的代码示例供我们参考,需要的朋友可以参考下
    2023-08-08
  • springcloud检索中间件 ElasticSearch 分布式场景的使用

    springcloud检索中间件 ElasticSearch 分布式场景的使用

    单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题,本文重点给大家介绍springcloud检索中间件 ElasticSearch 分布式场景的运用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • java解析xml常用的几种方式总结

    java解析xml常用的几种方式总结

    这篇文章主要介绍了java解析xml常用的几种方式总结,有需要的朋友可以参考一下
    2013-11-11
  • logback自定义日志与Nacos日志冲突问题

    logback自定义日志与Nacos日志冲突问题

    这篇文章主要介绍了logback自定义日志与Nacos日志冲突问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • logback自定义json日志输出示例详解

    logback自定义json日志输出示例详解

    这篇文章主要为大家介绍了logback自定义json日志输出,就是通过logback日志体系以及logstash提供的json log依赖将数据以json格式记录到日志文件的例子
    2022-03-03

最新评论