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;
}
}
导出委外催收中EXCEL 大数据量csv导出
原创
©著作权归作者所有:来自51CTO博客作者文20230916的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
sql server 大数据量处理
Sql Server大量数据处理
数据 数据库 Server -
Java Excel导入导出
Java的两种方式操作Excel
数据 java excel 导出数据