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

时间:2022-02-21 07:57:35

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

  1. <!--POI-->
  2. <dependency>
  3. <groupId>org.apache.poi</groupId>
  4. <artifactId>poi-ooxml-schemas</artifactId>
  5. <version>3.14-beta1</version>
  6. </dependency>
  7.  
  8. <!--文件上传依赖-->
  9. <dependency>
  10. <groupId>commons-fileupload</groupId>
  11. <artifactId>commons-fileupload</artifactId>
  12. <version>1.2.2</version>
  13. </dependency>
  14. <dependency>
  15. <groupId>commons-io</groupId>
  16. <artifactId>commons-io</artifactId>
  17. <version>2.4</version>
  18. </dependency>

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

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

3.创建index.html

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

4.创建实体类

  1. public class User {
  2. private Integer id;
  3. private String username;
  4. private String password;
  5. /* get 和 set */
  6. }

5.Controller层

  1. /**
  2. * 导出Excel
  3. * @param request
  4. * @param response
  5. */
  6. @RequestMapping("/exportExcel")
  7. @ResponseBody
  8. public void exportExcel(HttpServletRequest request, HttpServletResponse response){
  9. try {
  10. //获取数据源
  11. List<User> userList = service.queryUserAll();
  12. //导出excel
  13. response.setHeader("Content-Disposition","attachment;filename="+new String("用户信息.xls".getBytes(),"ISO-8859-1"));
  14. response.setContentType("application/x-excel;charset=UTF-8");
  15. OutputStream outputStream = response.getOutputStream();
  16. //导出
  17. service.exportExcel(userList,outputStream);
  18. outputStream.close();
  19. } catch (IOException e) {
  20. e.printStackTrace();
  21. }
  22. }
  1. /**
  2. * 导入exc
  3. * @param userExcel
  4. * @param request
  5. * @param session
  6. * @return
  7. */
  8.  
  9. @RequestMapping("/importExcel")
  10. @ResponseBody
  11. public String importExcel(MultipartFile userExcel, HttpServletRequest request, HttpSession session) throws IOException, InvalidFormatException {
  12. if(userExcel == null){
  13. session.setAttribute("excelName", "未上传文件,上传失败!");
  14. return null;
  15. }
  16. String userExcelFileName = userExcel.getOriginalFilename();
  17. if(!userExcelFileName.matches("^.+\\.(?i)((xls)|(xlsx))$")){
  18. session.setAttribute("excelName", "文件格式不正确!请使用.xls或.xlsx后缀的文档,导入失败!");
  19. return null;
  20. }
  21. //导入
  22. service.importExcel(userExcel);
  23. session.setAttribute("excelName", "导入成功!");
  24. return "redirect:queryUserAll.do";
  25. }

6.运行测试

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

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

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

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

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

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

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

原文链接:https://blog.csdn.net/weixin_51311866/article/details/115246070