@GetMapping("/export") public void export(HttpServletResponse response) throws Exception { // 从数据库查询出所有的数据 List<Collect> list = collectService.list(); // 在内存操作,写出到浏览器 ExcelWriter writer = ExcelUtil.getWriter(true); // 一次性写出list内的对象到excel,使用默认样式,强制输出标题 writer.write(list, true); // 设置浏览器响应的格式 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); String fileName = URLEncoder.encode("Collect信息表", "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); ServletOutputStream out = response.getOutputStream(); writer.flush(out, true); out.close(); writer.close(); }
时间: 2023-06-20 22:07:51 浏览: 148
springboot实现从数据库取数传到前端demo
这是一个使用Spring MVC框架编写的导出Excel文件的方法,通过GET请求访问/export路径时,会从数据库中获取所有Collect对象的信息,然后使用EasyExcel工具将其写入Excel文件并输出到浏览器中供用户下载。
具体实现过程:
1.调用collectService的list()方法获取Collect对象列表。
2.创建一个ExcelWriter对象writer,用于操作Excel文件。
3.使用writer的write()方法将Collect对象列表写入Excel文件。
4.设置响应头信息,告诉浏览器文件的类型和名字。
5.获取响应输出流,并将Excel文件数据输出到浏览器中。
6.关闭输出流和ExcelWriter对象。
需要注意的是,这里使用的是EasyExcel工具,需要在pom.xml中添加对应的依赖包,并且需要在Spring配置文件中配置EasyExcel的监听器。
阅读全文