導出功能

導出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();
		}
	
    }
相關文章
相關標籤/搜索