使用hutool工具类轻松实现导入导出

简介: 只有代码,解释较少,想看详细导入导出:

pom依赖:

基于springboot

1. <dependency>
2. <groupId>cn.hutool</groupId>
3. <artifactId>hutool-all</artifactId>
4. <version>5.7.20</version>
5. </dependency>
6. <dependency>
7. <groupId>org.apache.poi</groupId>
8. <artifactId>poi-ooxml</artifactId>
9. <version>4.1.2</version>
10. </dependency>

导出:

先从数据库中将所有的数据查询出来:调用mapper查询

在内存中,写在浏览器:

【直接下载】

ExcelWriter writer = ExcelUtil.getWriter(true);

自定义标题别名 : 可以不写【不写使用的是类中的属性名】

writer.addHeaderAlias("属性","别名")

一次性将数据写入Excel :

writer.write(list,true);

设置响应头 :

1. // 设置响应头
2. response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml,sheet;charset=utf-8");
3. String filename = URLEncoder.encode("用户信息","UTF-8"); // 文件名
4. response.setHeader("Content-Disposition","attachment;filename="+filename+".xlsx");

获取输出流 :

ServletOutputStream out = response.getOutputStream();

刷新,关闭资源:

1. writer.flush(out,true);
2. writer.close();
3. out.close();

导入

1. @PostMapping("/down")
2. public boolean down(MultipartFile file) throws IOException {
3. // 通过文件获取输入流
4. InputStream is = file.getInputStream();
5. // 借助hutool读取
6. ExcelReader reader = ExcelUtil.getReader(is);
7.     List<List<Object>> list = reader.read(1); // 从第二行开始读
8. // 创建一个List集合
9.     List<SysUser> users = CollUtil.newArrayList();
10. // 遍历
11. for (List<Object> row : list) {
12. SysUser user = new SysUser();
13. // 转换成字符串
14.         user.setUsername(row.get(1).toString());
15.         user.setPassword(row.get(2).toString());
16.         user.setNickname(row.get(3).toString());
17.         user.setEmail(row.get(4).toString());
18.         user.setPhone(row.get(5).toString());
19.         user.setAddress(row.get(6).toString());
20. // 遍历完一个添加一个
21.         users.add(user);
22.     }
23. // 调用mapper添加到数据库
24. return userService.addAll(users);
25. }


目录
相关文章
使用hutool完成excle文件导入导出
使用hutool完成excle文件导入导出
使用hutool完成excle文件导入导出
|
4月前
|
JSON 算法 Java
Hutool包常用工具类的使用
Hutool包常用工具类的使用
|
前端开发 easyexcel Java
Java+EasyExcel实现文件导入导出,导入导出如此简单
项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件
10893 2
Java+EasyExcel实现文件导入导出,导入导出如此简单
|
3月前
|
Java easyexcel
java开发excel导入导出工具类基于EasyExcel
java开发excel导入导出工具类基于EasyExcel
155 1
|
11月前
|
Java Maven
【Java用法】使用EasyPoi导入与导出Excel文档的解决方案
【Java用法】使用EasyPoi导入与导出Excel文档的解决方案
290 0
|
4月前
|
Java 数据库连接 Apache
Hutool工具包等常用工具类总结
Hutool工具包等常用工具类总结
154 0
|
4月前
|
Java easyexcel Maven
【Java专题_04】集成EasyExcel进行Excel导入导出详细教程
【Java专题_04】集成EasyExcel进行Excel导入导出详细教程
387 0
|
10月前
|
XML 编解码 算法
Hutool超级工具类
Hutool超级工具类
77 0
|
Java 数据库连接 数据库
Java 导入20万数据 Mybatis和Excel 处理
最近在处理导入数据需求,原来的数据是几千行导入,一般的代码可满足。但是在导入数据进却发现一个excel有20几万数据,各种问题就出来了,首先是数据库会撑爆,因excel读入的数据太多内存也会溢出。
313 0