`
mr_gxxy
  • 浏览: 3832 次
  • 性别: Icon_minigender_1
  • 来自: 襄阳
社区版块
存档分类
最新评论

ext 导入excel 导出 excel

ext 
阅读更多
	@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++;

			}
		}

	
		
	
		
	}

 

  • 描述: 下载的excel 模板
  • 大小: 137.7 KB
分享到:
评论

相关推荐

    Ext生成报表导出到Excel

    `Ext`是一个流行的JavaScript框架,它提供了一种强大的方式来构建富客户端应用程序,而将Ext应用中的数据导出到Excel则可以方便用户进行进一步的数据处理和分析。 `Ext`框架的核心是它的组件模型,其中包括各种图表...

    Ext 完整例子(含Excel导出)

    "Ext 完整例子(含Excel导出)"这个资源显然是一个包含完整的Ext应用程序示例,特别强调了支持Excel数据导出的功能。这通常涉及到在Web应用中集成数据处理和文件生成的能力。 首先,我们要理解Ext的核心概念。它基于...

    【PHP】phpoffice实现excel导入导出

    PHPoffice 实现 Excel 导入导出 PHPoffice 是一个基于 PHP 的 Excel 操作库,提供了强大的 Excel 操作功能,包括创建、读取、写入和导出 Excel 文档。下面将详细介绍如何使用 PHPoffice 实现 Excel 导入导出。 ...

    Ext导出Excel源码

    标题中的“Ext导出Excel源码”指的是使用ExtJS库来实现从Web应用程序导出数据到Excel文件的功能。ExtJS是一个流行的JavaScript框架,用于构建富客户端应用,而Excel导出功能则是许多企业级应用中常见的需求,允许...

    Ext 模仿Excel电子表格

    5. **导出和导入功能**:为了提高用户友好性,我们需要实现将Web应用中的数据导出为Excel文件(.xlsx或.xls),以及导入Excel文件到应用中。这通常涉及到处理二进制数据和XML结构的知识。 6. **插件和扩展**:Ext ...

    ajax ext 表格数据导出

    本文将详细讲解如何使用Ajax和Ext技术实现表格(Grid)数据的导出,特别是导出到Excel格式。 首先,ExtJS是一个强大的JavaScript UI框架,它提供了一套完整的组件库,包括用于展示和操作数据的表格组件(Grid)。...

    excel导入数据到Oracle数据库

    ### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。这一过程不仅可以提高工作效率,还能确保数据的一致性和准确性。本文将详细...

    Spring+springMVC+hibernate做的一个导入Excel

    在导入Excel的场景中,SpringMVC处理前端请求,将文件传递给后端服务。 3. **Hibernate框架**:Hibernate是一个对象关系映射(Object-Relational Mapping, ORM)工具,它简化了数据库操作。在这个项目中,Hibernate...

    一个ext做的excel导出程序,war包,java源码,和sql语句

    先用ExportDB.java向表中导入数据,启动服务http://localhost:8080/export就能看到效果了

    ext2 grid 封装 (包含增删改查 导入导出等操作)

    标题 "ext2 grid 封装 (包含增删改查 导入导出等操作)" 暗示了这是一个关于ExtJS 2.x版本中Grid组件的封装实践,该封装集成了基本的数据操作功能,如添加(Add)、删除(Delete)、修改(Modify)和查询(Query)...

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    ExtJS4 动态生成的grid导出为excel示例

    然而,对于这样的Grid,如何将其内容导出为Excel格式可能会成为一个挑战。本文将介绍一个实现这一功能的示例,帮助开发者解决这个问题。 首先,要实现动态Grid到Excel的导出,你需要依赖一些特定的JavaScript库。...

    基于EXTJS 的在线EXCEL编辑器

    5. **数据导入导出**:用户可以上传本地的Excel文件进行在线编辑,也可以将编辑后的数据导出为Excel格式,方便数据交换。 6. **权限控制**:通过集成的身份验证和权限管理,可以限制不同用户对数据的访问和操作权限...

    ExtJS4.0 分享Grid导出Excel插件(3.28更新支持4.1)

    在标题中提到的"ExtJS4.0 分享Grid导出Excel插件"是一个扩展功能,允许用户将ExtJS Grid中的数据导出为Microsoft Excel格式的文件。这对于数据分析、报表生成以及数据共享非常有用。 这个插件是针对ExtJS 4.0版本...

    Delphi表格控件DBGridEh应用实例6-.pdf

    本文主要讲述了Delphi表格控件DBGridEh的应用实例6,focus on 导入/导出数据和生成EXCEL报表。以下是相关知识点的详细说明: 1. 导入/导出数据 在实际处理过程中,导入/导出数据是比较烦琐的。但是Enlib3.0提供了...

    PyPI 官网下载 | pyexcel-xlsxw-0.4.0.tar.gz

    import pyexcel.ext.xlsx data = [[1, 2, 3], [4, 5, 6]] sheet = pe.Sheet(data) sheet.save_as("output.xlsx") ``` 这段代码会创建一个名为"output.xlsx"的文件,其中包含一个名为“Sheet1”的工作表,数据就是...

    Html Web模拟Excel电子表格

    同时,它们还能解析和生成CSV或XLSX文件,便于数据导入导出。 最后,考虑到性能和用户体验,优化是必不可少的。大量数据可能会导致页面加载慢,因此可以使用虚拟滚动、懒加载等技术只渲染可视区域的行,减少内存...

    laravel excel 上传文件保存到本地服务器功能

    在 Laravel 框架中,Laravel Excel 是一个非常实用的库,用于处理 Excel 文件的导入和导出。本文将详细介绍如何使用 Laravel Excel 实现上传 Excel 文件并将其保存到本地服务器的功能。 首先,确保你已经正确地安装...

    Excel与Access综合运用

    在实际应用中,建议先创建数据库结构,然后通过Excel导入数据到Access数据库中,或者反之,从Access数据库导出数据到Excel。这个过程可以通过编写VBA宏来自动化,从而简化重复的数据管理任务。同时,也要注意做好...

    JAVA 通常有两种方法来操作Excel

    在Java编程中,操作Excel文件是一项常见的任务,用于数据导入导出、数据分析或者报表生成等。本文主要聚焦于两种主流的开源库:Apache POI和JExcelAPI,它们都允许开发者在Java环境中处理Excel文件。这里我们将重点...

Global site tag (gtag.js) - Google Analytics