POI导出excel并弹出另存为窗口

  /**
		   * 导出离职记录
		   * @param request
		   * @param response
		   */
	    public void outputLeave(HttpServletRequest request, HttpServletResponse response) {
	    	try{
	    		HSSFWorkbook workbook = new HSSFWorkbook();
	    		HSSFSheet sheet = workbook.createSheet();
	    		HSSFRow row = sheet.createRow((short)0);
	    		//在索引0的位置创建单元格(左上端)
	    		HSSFCell cell[] = new HSSFCell[10];
	    		for (int i = 0; i < 10; i++) {
	    			cell[i] = row.createCell(i);
	    			}
	    			cell[0].setCellValue("员工编号");
	    			cell[1].setCellValue("姓名");
	    			cell[2].setCellValue("部门");
	    			cell[3].setCellValue("岗位");
	    			cell[4].setCellValue("离职日期");
	    			cell[5].setCellValue("审批人");
	    			cell[6].setCellValue("离职种类");
	    			cell[7].setCellValue("离职原因");
	    			cell[8].setCellValue("备注");
	    			cell[9].setCellValue("状态");
	    			sheet.setColumnWidth(0, 10*256);
	    	        sheet.setColumnWidth(1, 10*256);
	    	        sheet.setColumnWidth(2, 15*256);
	    	        sheet.setColumnWidth(3, 15*256);
	    	        sheet.setColumnWidth(4, 18*256);
	    	        sheet.setColumnWidth(5, 15*256);
	    	        sheet.setColumnWidth(6, 18*256);
	    	        sheet.setColumnWidth(7, 18*256);
	    	        sheet.setColumnWidth(8, 12*256);
	    	        sheet.setColumnWidth(9, 8*256);
	    			ConditionModel conditionModel =new ConditionModel();
	    				JSONObject json = leaveQueryParamService.searchData(conditionModel,"leaveEmp");
	    				JSONArray jsonArray1;
	    				try {
	    					jsonArray1 = (JSONArray) json.get("rows");
	    					for (int i = 0; i < jsonArray1.length(); i++) {
	    						JSONObject js1 = jsonArray1.getJSONObject(i);
	    						js1.put("leaveReason",InitSystemCtrl.sysCodeData.get(js1.get("leaveType")+","+js1.get("leaveReason")));
	    						js1.put("leaveType",InitSystemCtrl.sysCodeData.get("leaveType,"+js1.get("leaveType")));
	    						js1.put("status",InitSystemCtrl.sysCodeData.get("leaveStatus,"+js1.get("status")));
	    						HSSFRow dataRow = sheet.createRow(i + 1);
	    						HSSFCell data[] = new HSSFCell[10];
	    						for (int j = 0; j < 10; j++) {
	    						data[j] = dataRow.createCell(j);
	    						}
	    						data[0].setCellValue(js1.get("empCode").toString());
	    						data[1].setCellValue(js1.get("empName").toString());
	    						data[2].setCellValue(js1.get("depName").toString());
	    						data[3].setCellValue(js1.get("posiName").toString());
	    						data[4].setCellValue(js1.get("leaveDate").toString());
	    						data[5].setCellValue(js1.get("approver").toString());
	    						data[6].setCellValue(js1.get("leaveType").toString());
	    						data[7].setCellValue(js1.get("leaveReason").toString());
	    						data[8].setCellValue(js1.get("note").toString());
	    						data[9].setCellValue(js1.get("status").toString());
	    						
	    					}
	    				} catch (JSONException e) {
	    					e.printStackTrace();
	    				}
	    				
	    		String fn=new String(("离职员工表"+".xls").getBytes("gb2312"),"ISO8859_1");//new String("mobile鏂囦欢".getBytes(),"GB2312");
	    				   response.reset();
	    				   response.setContentType("application/vnd.ms-excel");	    		   
	    				   response.setHeader("Content-disposition", "attachment; filename=\"" +fn + "\"");
	        	OutputStream os = response.getOutputStream(); 
	    		workbook.write(os);
	    		os.close();
	    		System.out.println("文件生成...");
	    		}catch(Exception e) {
	    		System.out.println("已运行 xlCreate() : " + e );
	    		}
	    }
	    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值