需求描述
将从数据库查出的数据以生成csv文件的方式下载下来(导出)。
实现方案
最开始的方法是:
将从数据库中查出的数据拼成符合csv文件格式的字符串,然后将字符串转为输入流,最后返回InputStreamResource,达到下载的目的。下边是实现的代码:
@GetMapping("/test/csv")
public ResponseEntity<InputStreamResource> createCSV(@RequestParam(required = false) String key1, @RequestParam(required = false) String key2) throws IOException{
String fileName = UuidUtils.base58Uuid()+".csv"; //文件名是生成的base58的uuid,这个方法是本人自己写的
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Content-Disposition","attachment; fileName="+fileName);
headers.add("Pragma", "no-cache");
headers.add("Expires",