ext 导入excel 导出 excel

	@SuppressWarnings("deprecation")
	@GET
	@POST
	@Path("/importServicesCompSegMapping")
	@Produces(MediaType.APPLICATION_JSON)
	public void importPartKitCompSegMapping(
			@Context HttpServletRequest request,
			@Context HttpServletResponse response,
			@Context ServletContext servletContext) {

		DiskFileUpload uploadFile = new DiskFileUpload();
		uploadFile.setHeaderEncoding("utf8");
		List<ServicesSegMappingVo> servicesSegmMappingList = new ArrayList<ServicesSegMappingVo>();
		InputStream fileInputSteam = null;
		try {

			List<?> items = uploadFile.parseRequest(request);
			ListIterator<?> listIterator = items.listIterator();
			while (listIterator.hasNext()) {
				FileItem item = (FileItem) listIterator.next();
				String name = item.getName();
				if (RCHelper.isExcelFile(name)) {
					fileInputSteam = item.getInputStream();
					Workbook workBook = Workbook.getWorkbook(fileInputSteam);
					Sheet sheet = workBook.getSheet(0);
					int rowCount = sheet.getRows();
//					int colCount = sheet.getColumns();
					Cell cell = null;

					ServicesSegMappingVo servicesSegMappingVo = null;
					for (int row = 1; row < rowCount; row++) {
						servicesSegMappingVo = new ServicesSegMappingVo();
						cell = sheet.getCell(0, row);
						if (cell.getContents() != null) {
							servicesSegMappingVo.setWorkItemId(cell.getContents());
						}
						cell = sheet.getCell(1, row);
						if (cell.getContents() != null) {
							servicesSegMappingVo.setWorkItemName(cell.getContents());
						}
						cell = sheet.getCell(2, row);
						if (cell.getContents() != null) {
							servicesSegMappingVo.setSegmentLevel(cell.getContents());
						}
						cell = sheet.getCell(3, row);
						if (cell.getContents() != null) {
							servicesSegMappingVo.setAllocationPeriod(cell.getContents());
						}
						cell = sheet.getCell(4, row);
						if (cell.getContents() != null) {
							servicesSegMappingVo.setEquipmentTechnology(cell.getContents());
						}
						cell = sheet.getCell(5, row);
						if (cell.getContents() != null) {
							if (!"".equals(StringUtils.nvl(cell.getContents()))) {
								String[] segm = cell.getContents().split("#");
								servicesSegMappingVo.setCompSegmName(segm[0]);
								servicesSegMappingVo.setCompSegmId(segm[1]);
							}
						}
							servicesSegmMappingList.add(servicesSegMappingVo);
					}
//					partkitSegmMappingList.size();
				} else {
					ObjectMapper mapper = new ObjectMapper();
					mapper.configure(
							SerializationConfig.Feature.WRITE_NULL_PROPERTIES,
							false);
					mapper.getSerializationConfig().setSerializationInclusion(
							Inclusion.ALWAYS);
					String errmsg = "Please upload file with extention '.XLS' or '.XLX'";
					String jsonData = "{total:0,success:false,errorMessage:\""
							+ errmsg + "\"}";
					logger.debug(jsonData);
					PrintWriter pw = response.getWriter();
					pw.write(jsonData);
					pw.flush();
					pw.close();
				}
			}
			ObjectMapper mapper = new ObjectMapper();
			mapper.configure(
					SerializationConfig.Feature.WRITE_NULL_PROPERTIES,
					false);
			mapper.getSerializationConfig().setSerializationInclusion(
					Inclusion.ALWAYS);
			PrintWriter pw = response.getWriter();
			String json = new Gson().toJson(servicesSegmMappingList);
			String str = "{success:true,servicesSegmMappingList : "+json+"}";
			pw.write(str);
			pw.flush();
			pw.close();
		} catch (FileUploadException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		}finally {
			logger.info("finally");
			if (fileInputSteam != null) {
				try {
					fileInputSteam.close();
				} catch (IOException ex) {
					;
				}
			}
		}
		//return "partkitSegmMappingList";
	}
 
 
js  
            var jsonData = Ext.JSON.decode(action.response.responseText);
       //alert(jsonData.partkitSegmMappingList);
       grid.store.removeAll();
       grid.store.loadData(jsonData.servicesSegmMappingList);
 

 

 

 

downViewServices


fileName = "ViewServices.xls";   
				templatePath = "/resources/template/ViewServices.xls";//要下载的模板,一般表格头在里边
				try {
					InputStream is = this.getClass().getResourceAsStream(
							templatePath);

					ViewServicesList viewServicesList;

					viewServicesList = this.findServices(request, response);

					List<ViewServicesVo> records = viewServicesList.getViewServicesList();

					wwb = XLSUtil.getRateXlsFile(records, outputStream, is, 11);
				} catch (Exception e) {
					e.printStackTrace();
				}






@SuppressWarnings({ "deprecation", "rawtypes", "unchecked" })
	public static WritableWorkbook getRateXlsFile(List recordsList, OutputStream os, InputStream is, int reportType) throws BiffException, IOException, WriteException {

		Workbook template = Workbook.getWorkbook(is);
		WritableWorkbook wwb = Workbook.createWorkbook(os, template);
		WritableSheet sheet = wwb.getSheet(0);
		sheet.setProtected(true);

		WritableCellFormat lockCF = getLockCellFormat();
		WritableCellFormat unlockCF = getUnlockCellFormat();

		if (reportType == RCATConstants.REPORT_LOH_SHOP_RATE) { // LOH shop rate
			getRateRecord(recordsList, lockCF, unlockCF, sheet);
		} else if (reportType == RCATConstants.REPORT_LOH_COMP_RATE) {
			getCompRateRecord(recordsList, lockCF, unlockCF, sheet);
		} else if (reportType == 3) {
//			exportFinalCatalog(recordsList, lockCF, sheet);
		} else if (reportType == 4) {
			getViewTechnologiesRecord(recordsList, lockCF, sheet);
		} else if (reportType == 5) {
			getPartKitsRecord(recordsList, lockCF, sheet);
		} else if (reportType == 6) {
			getShopCClRecord(recordsList, lockCF, sheet);
		} else if (reportType == 8) {
			getRateRecord(recordsList, lockCF, unlockCF, sheet);
		}else if (reportType == 10) {
			getServiceCatalog(recordsList, lockCF, unlockCF, sheet);
		}else if (reportType == 11) {
			getServices(recordsList, lockCF, unlockCF, sheet);
		}

		return wwb;
	}




	private static void getServices(List recordsList,
			WritableCellFormat lockCF, WritableCellFormat unlockCF,
			WritableSheet sheet)  throws  BiffException, IOException, WriteException{


		if (!recordsList.isEmpty()) {
			Iterator<ViewServicesVo> itr = recordsList.iterator();
			ViewServicesVo viewServicesVo = null;
			int startRowNumber = 1;
			Label cell;
			while (itr.hasNext()) {
				viewServicesVo = (ViewServicesVo) itr.next();
 
				cell = new Label(0, startRowNumber, viewServicesVo.getAtaNumber(), lockCF);
				sheet.addCell(cell);

				cell = new Label(1, startRowNumber, viewServicesVo.getEquipTech(), lockCF);
				sheet.addCell(cell);

				cell = new Label(2, startRowNumber, viewServicesVo.getWorkItemId(), lockCF);
				sheet.addCell(cell);

				cell =new Label(3, startRowNumber, viewServicesVo.getWorkItemName(), lockCF);
				sheet.addCell(cell);

				cell = new Label(4, startRowNumber, viewServicesVo.getSeglevel(), lockCF);
				sheet.addCell(cell);

				cell = new Label(5, startRowNumber, viewServicesVo.getAllocationPeriod(), lockCF);
				sheet.addCell(cell);

				cell = new Label(6, startRowNumber, viewServicesVo.getCompSegName(), lockCF);
				sheet.addCell(cell);

				startRowNumber++;

			}
		}

	
		
	
		
	}

 

你可能感兴趣的:(ext)