1.工具类
public class ExcelUtil {
@SuppressWarnings("deprecation")
public static void createCell(HSSFCellStyle cellstyle, HSSFRow row, short col, String val) {
HSSFCell cell = row.createCell(col);
cell.setCellValue(val);
cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);
cell.setCellStyle(cellstyle);
}
public static void createExcel(OutputStream os, List<RiskCount> riskCount) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFCellStyle cellstyle = wb.createCellStyle();
HSSFSheet sheet = wb.createSheet();
HSSFRow row = sheet.createRow((short) 0);
sheet.createFreezePane(0, 1);
ExcelUtil.createCell(cellstyle, row, (short) 0, "组织机构"); //中文是列名,根据实际情况自己写
ExcelUtil.createCell(cellstyle, row, (short) 1, "风险类型");
ExcelUtil.createCell(cellstyle, row, (short) 2, "风险名称");
ExcelUtil.createCell(cellstyle, row, (short) 3, "风险结果");
ExcelUtil.createCell(cellstyle, row, (short) 4, "风险等级");
ExcelUtil.createCell(cellstyle, row, (short) 5, "专业分类");
ExcelUtil.createCell(cellstyle, row, (short) 6, "风险数量");
ExcelUtil.createCell(cellstyle, row, (short) 7, "状态");
ExcelUtil.createCell(cellstyle, row, (short) 8, "账期");
int i = 0;
for (RiskCount risk : riskCount) {
HSSFRow rowi = sheet.createRow((short) (++i));
ExcelUtil.createCell(cellstyle, rowi, (short) 0, risk.getProvinceCode());
ExcelUtil.createCell(cellstyle, rowi, (short) 1, risk.getRiskCode());
ExcelUtil.createCell(cellstyle, rowi, (short) 2, risk.getRiskName());
ExcelUtil.createCell(cellstyle, rowi, (short) 3, risk.getRiskType());
ExcelUtil.createCell(cellstyle, rowi, (short) 4, risk.getRiskGrade());
ExcelUtil.createCell(cellstyle, rowi, (short) 5,
risk.getRiskCount() == null ? "0" : risk.getRiskCount().toString());
ExcelUtil.createCell(cellstyle, rowi, (short) 6, risk.getCountDate());
ExcelUtil.createCell(cellstyle, rowi, (short) 7, risk.getRiskResult());
ExcelUtil.createCell(cellstyle, rowi, (short) 8, risk.getStatus());
}
wb.write(os);
os.flush();
os.close();
}
}
2
.@RequestMapping(value="/exportExcel/{id}",method=RequestMethod.GET)
public void exportExcel(HttpServletRequest req,HttpServletResponse res,
@PathVariable String id) throws Exception{
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
Map<String,Object> map=new HashMap<String,Object>();
try{
String[] para=id.split(",");
for(int i=0;i<para.length;i++){
map=riskCountService.getReportExportById(para[i].trim());
list.add(map);
}
OutputStream os= res.getOutputStream();
String fileName="风险报表";
res.setHeader("content-disposition", "attachment;fileName="
+new String(fileName.getBytes("gb2312"),"ISO8859-1")+".xls");
res.setContentType("application/msexcel");
ExcelUtil.createReportExcel(os, list);
logger.info("风险报表导出请求成功");
}catch(Exception e){
e.printStackTrace();
logger.info("风险报表导出异常" + e.getMessage());
}
}