varList.forEach(e ->{
      List<Object> ObjectList =  new ArrayList<>();
      for(int i=0;i<headlist.size();i++){
          ObjectList.add(e.get("var"+(i+1))==null?null:e.getString("var"+(i+1)));
      }
      dataList.add(ObjectList);
  });
  File csvFile =CSVUtils.createCSVFile(headlist,dataList,sheetName);
  BufferedInputStream bis = null;
  BufferedOutputStream bos = null;

  response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(csvFile.getName(), "UTF-8"));

  response.setHeader("Content-Length", String.valueOf(csvFile.length()));

  bis = new BufferedInputStream(new FileInputStream(csvFile));
  bos = new BufferedOutputStream(response.getOutputStream());
  byte[] buff = new byte[2048];
  while (true) {
      int bytesRead;
      if (-1 == (bytesRead = bis.read(buff, 0, buff.length))) break;
      bos.write(buff, 0, bytesRead);
  }
  bis.close();
  bos.close();
  csvFile.delete();
/**

写一行数据方法

@param row

@param csvWriter

@throws IOException
/
private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {
// 写入文件头部
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append(""").append(data).append("",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
public static File createCSVFile(HttpServletRequest request){
List< Map<String,Object>> list = new ArrayList<>();
for(int i =0;i<10;i++){
Map<String,Object> mao = new HashMap<>();
mao.put(“cutomerName”,“zhangsan”+i);
mao.put(“cutomerNam1”,“zhangsan”+i);
mao.put(“cutomerNam2”,“zhangsan”+i);
mao.put(“cutomerNam3”,“zhangsan”+i);
mao.put(“cutomerNam4”,“zhangsan”+i);
mao.put(“cutomerNam5”,“zhangsan”+i);
mao.put(“cutomerNam6”,“zhangsan”+i);
mao.put(“cutomerNam7”,“zhangsan”+i);
mao.put(“cutomerNam8”,“zhangsan”+i);
mao.put(“cutomerNam9”, “2017-10-17 22:33:33 12.00”);
mao.put(“cutomerNam10”,555555556);
/ mao.put(“cutomerNam11”,“zhangsan”+i);
mao.put(“cutomerNam12”,“zhangsan”+i);
mao.put(“cutomerNam13”,“zhangsan”+i);
mao.put(“cutomerNam14”,“zhangsan”+i);
mao.put(“cutomerNam15”,“zhangsan”+i);
mao.put(“cutomerNam16”,“zhangsan”+i);
mao.put(“cutomerNam17”,“zhangsan”+i);
mao.put(“cutomerNam18”,“zhangsan”+i);
mao.put(“cutomerNam19”,“zhangsan”+i);
mao.put(“cutomerNam20”,“zhangsan”+i);
mao.put(“cutomerNam21”,“zhangsan”+i);
mao.put(“cutomerNam22”,“zhangsan”+i);
mao.put(“cutomerNam23”,“zhangsan”+i);
mao.put(“cutomerNam24”,“zhangsan”+i);
mao.put(“cutomerNam25”,“zhangsan”+i);
mao.put(“cutomerNam26”,“zhangsan”+i);
mao.put(“cutomerNam27”,“zhangsan”+i);
mao.put(“cutomerNam28”,“zhangsan”+i);
mao.put(“cutomerNam29”,“zhangsan”+i);
mao.put(“cutomerNam30”,“zhangsan”+i);
mao.put(“cutomerNam31”,“zhangsan”+i);
mao.put(“cutomerNam32”,“zhangsan”+i);
mao.put(“cutomerNam33”,“zhangsan”+i);
mao.put(“cutomerNam34”,“zhangsan”+i);
mao.put(“cutomerNam35”,“zhangsan”+i);
mao.put(“cutomerNam36”,“zhangsan”+i);
mao.put(“cutomerNam37”,“zhangsan”+i);
mao.put(“cutomerNam38”,“zhangsan”+i);
mao.put(“cutomerNam39”,“zhangsan”+i);
mao.put(“cutomerNam40”,“zhangsan”+i);
mao.put(“cutomerNam41”,“zhangsan”+i);
mao.put(“cutomerNam42”,“zhangsan”+i);
mao.put(“cutomerNam43”,“zhangsan”+i);
mao.put(“cutomerNam44”,“zhangsan”+i);
mao.put(“cutomerNam45”,“zhangsan”+i);*/
list.add(mao);
}

// 设置表格头
Object[] head = {“客户姓名”, “证件类型”, “证件号码”, “银行账号”, “理财账号”, “客户类型”, “风险等级”, “归属状况”, “归属机构”, “客户经理”, “营销比例(%)” };
List headList = Arrays.asList(head);
// 设置数据
List<List> dataList = new ArrayList<List>();
List rowList = null;
for (int i = 0; i < list.size(); i++) {
rowList = new ArrayList();
Map<String,Object> maovo = list.get(i);
rowList.add(maovo.get(“cutomerName”));
rowList.add(maovo.get(“cutomerNam1”));
rowList.add(maovo.get(“cutomerNam2”));
rowList.add(maovo.get(“cutomerNam3”));
rowList.add(maovo.get(“cutomerNam4”));
rowList.add(maovo.get(“cutomerNam5”));
rowList.add(maovo.get(“cutomerNam6”));
rowList.add(maovo.get(“cutomerNam7”));
rowList.add(maovo.get(“cutomerNam8”));
rowList.add(maovo.get(“cutomerNam9”));
rowList.add(maovo.get(“cutomerNam10”));
dataList.add(rowList);
}
// 导出文件路径
// String downloadFilePath = request.getContextPath();
// 导出文件名称
String fileName = “客户列表_”;
// 导出CSV文件
File csvFile = CSVUtils.createCSVFile(headList, dataList, fileName);
return csvFile;
}
}