Controller中查询数据并导出csv文件
在SpringBoot的Controller中,查询数据并导出CSV文件的简单方法
下面的代码中的service为对应Service对象,你也可以直接用Mapper对象。
@PatientService service;
@GetMapping("/export")
public String export(HttpServletResponse response) {
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.addHeader("Content-Disposition", "attachment;filename=patient_list_" + Util.now(Util.FORMAT_SHORT_DATETIME) + ".csv");
StringBuilder sb = new StringBuilder();
List<Patient> list = service.list();
sb.append("id,function_cd,patient_key,hospital_cd,case_no,sequence_no");
for (Patient item : list) {
sb.append(String.format("%n%d,%s,%s,%s,%s,%d", item.getId(), item.getFunction_cd(), item.getPatient_key(), item.getHospital_cd(), item.getCase_no(), item.getSequence_no()));
}
response.addHeader("Content-Length", "" + sb.length());
return sb.toString();
}