服务器之家

服务器之家 > 正文

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

时间:2021-08-30 11:12     来源/作者:杨延超

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

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部