@Overridepublic voidgetContractListExecl(Contract contract, BindingResult result, HttpServletRequest req,
HttpServletResponse response)throwsIOException {
List> sttList =contractService.getContracts(contract);// 得到需要导出的数据int i = 0;//第一步,创建一个webbook,对应一个Excel文件
@SuppressWarnings("resource")
HSSFWorkbook wb= newHSSFWorkbook();//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("title");//设置表格默认列宽度为15个字节
sheet.setDefaultColumnWidth((short) 20);//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row =sheet.createRow(i);//第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style =wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_LEFT);//创建一个居中格式
HSSFCell cell= row.createCell(0);
cell.setCellValue("用户姓名");
cell.setCellStyle(style);
cell= row.createCell(1);
cell.setCellValue("电话");
cell.setCellStyle(style);
cell= row.createCell(2);
cell.setCellValue("家庭医生团队名称");
cell.setCellStyle(style);
cell= row.createCell(3);
cell.setCellValue("服务办理人姓名");
cell.setCellStyle(style);
cell= row.createCell(4);
cell.setCellValue("服务办理人电话");
cell.setCellStyle(style);
cell= row.createCell(5);
cell.setCellValue("服务办理人代码");
cell.setCellStyle(style);
cell= row.createCell(6);
cell.setCellValue("完成签约时间");
cell.setCellStyle(style);
cell= row.createCell(7);
cell.setCellValue("服务完成ITV编码");
cell.setCellStyle(style);
cell= row.createCell(8);
cell.setCellValue("服务完成时间");
cell.setCellStyle(style);
cell= row.createCell(9);for (Maprow_ : sttList) {
row= sheet.createRow(++i);//第四步,创建单元格,并设置值
row.createCell(0)
.setCellValue(row_.get("userName") == null ? "###" : row_.get("userName").toString());
row.createCell(1)
.setCellValue(row_.get("userPhone") == null ? "###" : row_.get("userPhone").toString());
row.createCell(2).setCellValue(row_.get("dgName") == null ? "###" : row_.get("dgName").toString());
row.createCell(3)
.setCellValue(row_.get("proxyName") == null ? "###" : row_.get("proxyName").toString());
row.createCell(4).setCellValue(row_.get("proxyPhone") == null ? "###" : row_.get("proxyPhone").toString());
row.createCell(5).setCellValue(row_.get("proxyCode") == null ? "###" : row_.get("proxyCode").toString());
row.createCell(6).setCellValue(row_.get("updateTime") == null ? "###" : row_.get("updateTime").toString());
row.createCell(7).setCellValue(row_.get("itvToken") == null ? "###" : row_.get("itvToken").toString());
row.createCell(8).setCellValue(row_.get("itvUpdateTime") == null ? "###" : row_.get("itvUpdateTime").toString());
}
String fileName= new SimpleDateFormat("yyyy-MM-dd").format(newDate());
response.setHeader("content-disposition","attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO8859-1") + ".xls");
OutputStream fout=response.getOutputStream();
wb.write(fout);
fout.close();
}
}