首页  编辑  

Java/SpringBoot的Controller中查询数据并导出CSV文件

Tags: /Java/   Date Created:
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();
}