1.导入pom依赖
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.20</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
2.创建Controller使用测试
导出测试:
@GetMapping("/export")
public void export(HttpServletResponse response) throws IOException {
//查询所有用户
List<SysUser> list=sysUserService.list();
//在内存操作,写到浏览器
ExcelWriter writer= ExcelUtil.getWriter(true);
//默认配置
writer.write(list,true);
//设置content—type
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset:utf-8");
//设置标题
String fileName= URLEncoder.encode("用户信息","UTF-8");
//Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。
response.setHeader("Content-Disposition","attachment;filename="+fileName+".xlsx");
ServletOutputStream outputStream= response.getOutputStream();
//将Writer刷新到OutPut
writer.flush(outputStream,true);
outputStream.close();
writer.close();
}
测试结果
导入测试
/**
* 导入excel
* @param file
*/
@PostMapping("/import")
public void importExcel(MultipartFile file) throws IOException {
//1.第一种 头必须和实体一样
//文件处理成io流
InputStream in=file.getInputStream();
//io流给ExcelReader
ExcelReader excelReader=ExcelUtil.getReader(in);
//读取数据且转化为list
List<SysUser> list=excelReader.readAll(SysUser.class);
//2.第二种导入方式
//忽略第一行头
/* List<List<Object>> list=excelReader.read(1);
List<SysUser> listUser= CollUtil.newArrayList();
for (List<Object> row: list) {
SysUser user=new SysUser();
user.setUsername(row.get(0).toString());
*//*****类似一一对应*****//*
}*/
//批量注册进数据库
sysUserService.saveBatch(list);
}
本文含有隐藏内容,请 开通VIP 后查看