@GetMapping("/down") public Result down(HttpServletResponse response) throws IOException { List<SmsIsEntity> userList = baseMapper.selectList(null); System.out.println(userList); //返回输出流_excel格式 response.setContentType("application/octet-stream"); String fileName = URLEncoder.encode("用户信息表", "UTF-8").replaceAll("\\+", " "); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); EasyExcel.write(response.getOutputStream(), User.class).autoCloseStream(Boolean.FALSE).sheet("用户信息表").doWrite(userList); // ExcelUtil.writerExcel(response, userList); return Result.success();
时间: 2024-04-20 07:22:21 浏览: 70
这段代码是一个GET请求的映射方法,路径是"/down"。它的功能是将数据库中的用户信息导出为Excel表格并提供下载。
首先,从数据库中查询用户信息并存储在userList列表中。
然后,设置响应的内容类型为"application/octet-stream",表示文件类型为二进制流。接着,使用URLEncoder对文件名进行编码,并替换空格为加号。
设置响应头的Content-disposition字段,指定文件名为编码后的文件名,并指定文件类型为UTF-8。
使用EasyExcel库将userList写入响应的输出流,并将Excel表格命名为"用户信息表"。
最后,返回一个成功的结果对象(Result.success())。
注意:这段代码中有一行被注释掉了,是使用ExcelUtil.writerExcel()方法写入Excel表格的另一种方式。
阅读全文