导出功能

导出excel表java

@ResponseBody
    @RequestMapping("/export")
    public void export(TmCollPerformanceBean collPerformanceBean){
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		//直接从列表中得到数据
		List<TmCollPerformanceBean> list = list().getRows();
		//使用HSSFWorkbook来导出excl
		HSSFWorkbook workbook = new HSSFWorkbook();
		HSSFSheet sheet = workbook.createSheet("催收绩效表");
		HSSFRow row = sheet.createRow(0);
		HSSFCellStyle style = workbook.createCellStyle();
		
		style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
		String[] rowHeaders = {"序号", "合同编号", "城市", "客户姓名", "逾期天数", "催收金额", "催收区域", "催收时间", "产品类型", "合同状态",
				               "催收专员"};
		HSSFCell cell;
		for(int i=0;i<rowHeaders.length;i++){
			cell = row.createCell(i);
			cell.setCellValue(rowHeaders[i]);
			cell.setCellStyle(style);
		}
		if (list != null && list.size() > 0 ) {
			for(int i=0;i<list.size();i++){
	        	row = sheet.createRow(i+1); //建立所须要的行数
	        	cell = row.createCell(0);
	        	cell.setCellValue(i+1);
	        	cell = row.createCell(1);
	        	cell.setCellValue(list.get(i).getContractNo()==null?"":list.get(i).getContractNo());
	        	cell = row.createCell(2);
	        	cell.setCellValue(list.get(i).getLoanCity()==null?"":list.get(i).getLoanCity());
	        	cell = row.createCell(3);
	        	cell.setCellValue(list.get(i).getName()==null?"":list.get(i).getName());
	        	cell = row.createCell(4);
	        	cell.setCellValue(list.get(i).getCurOverdueDays()==null?0:list.get(i).getCurOverdueDays());
	        	cell = row.createCell(5);
	        	cell.setCellValue((list.get(i).getPassDueAmt()==null?BigDecimal.ZERO:list.get(i).getPassDueAmt()).doubleValue());
	        	cell = row.createCell(6);
	        	cell.setCellValue(list.get(i).getOwnArea()==null?"":list.get(i).getOwnArea());
	        	cell = row.createCell(7);
	        	try{
	        		if(list.get(i).getRepayTime() == null){
	            		cell.setCellValue("");
	            	}else{
	            		cell.setCellValue(sdf.format(list.get(i).getRepayTime()));
	            	}
	        	}catch(Exception e){
	        		e.printStackTrace();
	        	}
	        	cell = row.createCell(8);
	        	cell.setCellValue(list.get(i).getSysType()==null?"":list.get(i).getSysType());
	        	cell = row.createCell(9);
	        	cell.setCellValue(list.get(i).getContractStatus()==null?"":list.get(i).getContractStatus());
	        	cell = row.createCell(10);
	        	cell.setCellValue(list.get(i).getCollectorId()==null?"":list.get(i).getCollectorId());
	        	
	        }
		}
        try {
			HttpServletResponse response = getResponse();
			String fileName = "催收绩效表.xls";
			fileName = URLEncoder.encode(fileName,"UTF8"); 
			response.reset();
			response.setContentType("application/vnd.ms-excel");
			response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
			OutputStream ouputStream = response.getOutputStream();
			workbook.write(ouputStream);
			ouputStream.flush();
			ouputStream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	
    }
相关文章
相关标签/搜索