@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`是一个流行的JavaScript框架,它提供了一种强大的方式来构建富客户端应用程序,而将Ext应用中的数据导出到Excel则可以方便用户进行进一步的数据处理和分析。 `Ext`框架的核心是它的组件模型,其中包括各种图表...
"Ext 完整例子(含Excel导出)"这个资源显然是一个包含完整的Ext应用程序示例,特别强调了支持Excel数据导出的功能。这通常涉及到在Web应用中集成数据处理和文件生成的能力。 首先,我们要理解Ext的核心概念。它基于...
PHPoffice 实现 Excel 导入导出 PHPoffice 是一个基于 PHP 的 Excel 操作库,提供了强大的 Excel 操作功能,包括创建、读取、写入和导出 Excel 文档。下面将详细介绍如何使用 PHPoffice 实现 Excel 导入导出。 ...
标题中的“Ext导出Excel源码”指的是使用ExtJS库来实现从Web应用程序导出数据到Excel文件的功能。ExtJS是一个流行的JavaScript框架,用于构建富客户端应用,而Excel导出功能则是许多企业级应用中常见的需求,允许...
5. **导出和导入功能**:为了提高用户友好性,我们需要实现将Web应用中的数据导出为Excel文件(.xlsx或.xls),以及导入Excel文件到应用中。这通常涉及到处理二进制数据和XML结构的知识。 6. **插件和扩展**:Ext ...
本文将详细讲解如何使用Ajax和Ext技术实现表格(Grid)数据的导出,特别是导出到Excel格式。 首先,ExtJS是一个强大的JavaScript UI框架,它提供了一套完整的组件库,包括用于展示和操作数据的表格组件(Grid)。...
### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。这一过程不仅可以提高工作效率,还能确保数据的一致性和准确性。本文将详细...
在导入Excel的场景中,SpringMVC处理前端请求,将文件传递给后端服务。 3. **Hibernate框架**:Hibernate是一个对象关系映射(Object-Relational Mapping, ORM)工具,它简化了数据库操作。在这个项目中,Hibernate...
先用ExportDB.java向表中导入数据,启动服务http://localhost:8080/export就能看到效果了
标题 "ext2 grid 封装 (包含增删改查 导入导出等操作)" 暗示了这是一个关于ExtJS 2.x版本中Grid组件的封装实践,该封装集成了基本的数据操作功能,如添加(Add)、删除(Delete)、修改(Modify)和查询(Query)...
strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类
然而,对于这样的Grid,如何将其内容导出为Excel格式可能会成为一个挑战。本文将介绍一个实现这一功能的示例,帮助开发者解决这个问题。 首先,要实现动态Grid到Excel的导出,你需要依赖一些特定的JavaScript库。...
5. **数据导入导出**:用户可以上传本地的Excel文件进行在线编辑,也可以将编辑后的数据导出为Excel格式,方便数据交换。 6. **权限控制**:通过集成的身份验证和权限管理,可以限制不同用户对数据的访问和操作权限...
在标题中提到的"ExtJS4.0 分享Grid导出Excel插件"是一个扩展功能,允许用户将ExtJS Grid中的数据导出为Microsoft Excel格式的文件。这对于数据分析、报表生成以及数据共享非常有用。 这个插件是针对ExtJS 4.0版本...
本文主要讲述了Delphi表格控件DBGridEh的应用实例6,focus on 导入/导出数据和生成EXCEL报表。以下是相关知识点的详细说明: 1. 导入/导出数据 在实际处理过程中,导入/导出数据是比较烦琐的。但是Enlib3.0提供了...
import pyexcel.ext.xlsx data = [[1, 2, 3], [4, 5, 6]] sheet = pe.Sheet(data) sheet.save_as("output.xlsx") ``` 这段代码会创建一个名为"output.xlsx"的文件,其中包含一个名为“Sheet1”的工作表,数据就是...
同时,它们还能解析和生成CSV或XLSX文件,便于数据导入导出。 最后,考虑到性能和用户体验,优化是必不可少的。大量数据可能会导致页面加载慢,因此可以使用虚拟滚动、懒加载等技术只渲染可视区域的行,减少内存...
在 Laravel 框架中,Laravel Excel 是一个非常实用的库,用于处理 Excel 文件的导入和导出。本文将详细介绍如何使用 Laravel Excel 实现上传 Excel 文件并将其保存到本地服务器的功能。 首先,确保你已经正确地安装...
在实际应用中,建议先创建数据库结构,然后通过Excel导入数据到Access数据库中,或者反之,从Access数据库导出数据到Excel。这个过程可以通过编写VBA宏来自动化,从而简化重复的数据管理任务。同时,也要注意做好...
在Java编程中,操作Excel文件是一项常见的任务,用于数据导入导出、数据分析或者报表生成等。本文主要聚焦于两种主流的开源库:Apache POI和JExcelAPI,它们都允许开发者在Java环境中处理Excel文件。这里我们将重点...