public void findTransferViewList(HttpServletResponse response, final List<PropertyFilter> filters, List<Map<String, Object>> letTypeList, List<Map<String, Object>> letDealStatusList, boolean deptFlag, String orgId) {
String fileName = "LetterList.xls";
		
		response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
		response.setHeader("Content-Type", "application/force-download");
		response.setHeader("Content-Type", "application/octet-stream");
		response.setHeader("Content-Type", "application/download");
		response.setHeader("Cache-Control", "private, max-age=0, must-revalidate");
		response.setHeader("Pragma", "public");
		response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");		
		
		OutputStream outputStream = null;
		try {
			outputStream = response.getOutputStream();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		try {
			int row = 0;
			WorkbookSettings workbookSettings=new WorkbookSettings();
			workbookSettings.setUseTemporaryFileDuringWrite(true);
			
                       WritableWorkbook workbook =Workbook.createWorkbook(outputStream,workbookSettings);
			
			WritableSheet sheet = workbook.createSheet("Sheet 1",0);
			
			String[] headsName = {"信件编号","信件类型","信件标题","信件内容","写信时间","写信人","写信人姓名","是否同意公开","移动电话","固定电话","电子邮箱","信件状态"}; // 列头
			
			
			//设置标题
			//String header = "信件列表"; //标题
			//JxlXlsWriter.setHeader(sheet,header, 0, headsName.length, "center", true, 15);
			//row++;
			
			JxlXlsWriter.addRow(sheet, headsName, 0, row); // 输出列头
			row++;
			
			// 输出中间内容
			String letType = "letDealStatus";
			String isManager = LetterConstants.YESORNO_NO;
			if(StringUtils.isEmpty(orgId)){
				isManager = LetterConstants.YESORNO_YES;
				if (filters != null && filters.size()>0) {
					filter: for (int i=0; i<filters.size(); i++) {
						String []propertyNames = filters.get(i).getPropertyNames();
						for(String propertyName : propertyNames){
							if ("acceptDept".equals(propertyName)) {
								orgId = String.valueOf(filters.get(i).getPropertyValue());
								filters.remove(i);
								break filter;
							}
						}
					}
				}
				letType = "dealStatus";
			}
			
			String[] properiesName = {"letId","letType","letTitle","letCont","wrtrDate","letWrtr","wrtrName","wrtrAgreeopen","wrtrMobile","wrtrTel","wrtrEmail",letType};
			
			List<?> letterTransferList = null ;
			
			Page<Letter> letterPage = new Page<Letter>(500);
			Page<LetterTransferView> transferPage = new Page<LetterTransferView>(500); 
			
			//判断 委办局、区级、子机构
			if(deptFlag){
				//委办局
				if(LetterConstants.YESORNO_NO.equals(isManager)){
					transferPage = letterTransferViewDao.findPage(transferPage, filters);
					letterTransferList = transferPage.getResult();
				}else{
					//区级
					letterPage = letterDao.findAllLetterPage(letterPage, filters,orgId);
					letterTransferList = letterPage.getResult();
				}
				
			}else if(!deptFlag){
				//子机构
				transferPage = letterTransferViewDao.findSelfQueryPage(transferPage, filters, orgId);
				letterTransferList = transferPage.getResult();
			}
			
			while(letterTransferList != null && letterTransferList.size()>0){
				//写到excel
				for (int i = 0, len = letterTransferList.size(); i < len; i++) {
					Map<String,Object> map = null;
					if(deptFlag){
						//委办局
						if(LetterConstants.YESORNO_NO.equals(isManager)){
							LetterTransferView letterTransferView = (LetterTransferView) letterTransferList.get(i);
							map = CommonUtils.beanToMap(letterTransferView);
						}else{
							//区级
							Letter letter = (Letter) letterTransferList.get(i);
							map = CommonUtils.beanToMap(letter);
						}
					}else if(!deptFlag){
						//子机构
						LetterTransferView letterTransferView = (LetterTransferView) letterTransferList.get(i);
						map = CommonUtils.beanToMap(letterTransferView);
					}
					Object[] objs = JxlXlsWriter.map2Array(map, properiesName);
					String wrtrAgreeOpen = String.valueOf(objs[7]);
					String agreeStr = "";
					if(LetterConstants.YESORNO_NO.equals(wrtrAgreeOpen)){
						agreeStr = "否";
					} else{
						agreeStr = "是";
					}
					
					objs[7] = agreeStr;
					
					//信件类型
					String letTypeNodeName = getNodeName(objs[1],letTypeList);
					objs[1] = letTypeNodeName;
					
					//信件处理类型
					String letDealNodeName = getNodeName(objs[11],letDealStatusList);
					objs[11] = letDealNodeName;
					
					JxlXlsWriter.addRow(sheet,objs,0, row);
					row++;
				}
				
				if(deptFlag){
					//委办局
					if(LetterConstants.YESORNO_NO.equals(isManager)){
						//查询下一组数据
						transferPage.setPageNo(transferPage.getPageNo()+1);
						transferPage = letterTransferViewDao.findPage(transferPage, filters);
						letterTransferList = transferPage.getResult();
					}else{
						//查询下一组数据
						letterPage.setPageNo(letterPage.getPageNo()+1);
						letterPage = letterDao.findAllLetterPage(letterPage, filters,orgId);
						letterTransferList = letterPage.getResult();
					}
				}else if(!deptFlag){
					//子机构
					//查询下一组数据
					transferPage.setPageNo(transferPage.getPageNo()+1);
					transferPage = letterTransferViewDao.findSelfQueryPage(transferPage, filters, orgId);
					letterTransferList = transferPage.getResult();
				}
			}
			
			//设置列宽
			JxlXlsWriter.setColumnsWidth(sheet,headsName);
			workbook.write();
			workbook.close();
			outputStream.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}