From 55478e52203a03c729ba06cefedcaaccb489d0be Mon Sep 17 00:00:00 2001 From: whyczh <hzjl@qq.com> Date: 星期五, 18 三月 2022 21:31:34 +0800 Subject: [PATCH] 更新 --- src/main/java/testElectronJ/TestController.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 151 insertions(+), 16 deletions(-) diff --git a/src/main/java/testElectronJ/TestController.java b/src/main/java/testElectronJ/TestController.java index aa54c33..41cebc0 100644 --- a/src/main/java/testElectronJ/TestController.java +++ b/src/main/java/testElectronJ/TestController.java @@ -86,6 +86,143 @@ font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellStyle.setFont(font); + int rowNumSheet = 0; + rowNumSheet+=2; + //鎻掑叆鍥剧墖 + int picNum = 0; + String[] picName = new String[]{ + "鐢垫睜鐢垫祦鎶樼嚎鍥�","缁勭鐢靛帇鎶樼嚎鍥�","娴嬭瘯瀹归噺鎶樼嚎鍥�","鍗曚綋鐢靛帇鎶樼嚎鍥�" + }; + if (picName.length==bytes.size()){ + for(int i=0;i<picName.length;i++){ + sheet.createRow(rowNumSheet-1); + sheet.getRow(rowNumSheet-1).createCell(0).setCellValue(picName[i]); + //rowNum++; + HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+27); + anchor.setAnchorType(3); + patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),HSSFWorkbook.PICTURE_TYPE_PNG)).resize(1); + picNum ++; + rowNumSheet+=27; + } + } + + HSSFSheet sheet1 = wb.createSheet("鏁版嵁"); + //鏂板缓琛� + + //鎶ご + int rowNum = 0; + HSSFRow rowTitle = sheet1.createRow(rowNum); + HSSFCell cellTitle = rowTitle.createCell(0); + cellTitle.setCellValue("涓�浣撴満鍏呮斁鐢垫暟鎹�"); + cellTitle.setCellStyle(cellStyle); + rowNum++; + + FboDataHeadStart start = fboDataInf.fboDataStart; + HSSFRow rowHand = sheet1.createRow(rowNum); + rowHand.createCell(0).setCellValue("鐢垫睜鍚嶇О锛�"); + rowHand.createCell(1).setCellValue(start.battNameStr); + rowHand.createCell(2).setCellValue("鐢垫睜鍝佺墝锛�"); + rowHand.createCell(3).setCellValue(start.battBrandStr); + rowNum++; + + + //灞炴�ф爮 + HSSFRow row = sheet1.createRow(rowNum); + row.createCell(0).setCellValue("娴嬭瘯鏃堕棿"); //鍒涘缓鍗曞厓鏍� + row.createCell(1).setCellValue("鎬荤數鍘�"); + row.createCell(2).setCellValue("娴嬭瘯瀹归噺"); + row.createCell(3).setCellValue("鍓╀綑瀹归噺"); + for(int i=0;i<list.get(0).SingleVol.length;i++){ + row.createCell(4+i).setCellValue("#"+Integer.valueOf(i+1)); + } + rowNum++; + //鏁版嵁鏍� + for (int i = 0; i < list.size(); i++) { + sheet1.createRow(rowNum); //鍒涘缓琛� + for(int j=0;j<5;j++){ + FboData fbo=list.get(i); + sheet1.getRow(rowNum).createCell(0).setCellValue(fbo.m_TestTime.hms()); + sheet1.getRow(rowNum).createCell(1).setCellValue(fbo.SumVoltage); + sheet1.getRow(rowNum).createCell(2).setCellValue(fbo.testCap); + sheet1.getRow(rowNum).createCell(3).setCellValue(fbo.residualCap); + for (int k = 0;k<list.get(0).SingleVol.length;k++){ + sheet1.getRow(rowNum).createCell(4+k).setCellValue(fbo.SingleVol[k]); + } + } + i=i+5-1; + rowNum++; + } + + rowNum++; + + try { + // 杞爜闃叉涔辩爜 + resp.addHeader("Content-Disposition", "attachment;filename=" + + new String(excelName.getBytes("UTF-8"), "ISO8859-1") + + ".xls"); + OutputStream out = resp.getOutputStream(); + wb.write(out); + out.close(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + public void export1(HttpServletRequest req, HttpServletResponse resp){ + + String curr_echart = req.getParameter("curr_echart"); //鐢垫睜鐢垫祦鎶樼嚎鍥� + String groupVol_echart = req.getParameter("groupVol_echart"); //缁勭鐢靛帇鎶樼嚎鍥� + String cap_echart = req.getParameter("cap_echart"); //娴嬭瘯瀹归噺鎶樼嚎鍥� + String vol_echart = req.getParameter("vol_echart"); //鍗曚綋鐢靛帇鎶樼嚎鍥� + + + String filePath = req.getParameter("filePath"); + FboDataInf fboDataInf = new FboDataInf(); + fboDataInf.readFboFile(filePath); + + List<FboData> list = fboDataInf.fboData; + + List<byte[]> bytes = new ArrayList<>(); + + try { + if (ServletUtils.isNotNull(curr_echart)) { + String[] url = curr_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(groupVol_echart)) { + String[] url = groupVol_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(cap_echart)) { + String[] url = cap_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(vol_echart)) { + String[] url = vol_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + } + }catch (Exception e){ + e.printStackTrace(); + } + //褰撳墠鏃ユ湡 + String nowFormat = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); + String excelName = "FGCD-"+nowFormat; + HSSFWorkbook wb = new HSSFWorkbook(); + + HSSFSheet sheet = wb.createSheet("Sheet1"); + + //鍥剧墖鍏冪礌 + HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); + + //瀛椾綋鏍煎紡-鍔犵矖 + HSSFCellStyle cellStyle = wb.createCellStyle(); + HSSFFont font = wb.createFont(); + font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + cellStyle.setFont(font); + + int rowNumSheet = 0; + + //鏂板缓琛� //鎶ご int rowNum = 0; @@ -100,7 +237,7 @@ rowHand.createCell(0).setCellValue("鐢垫睜鍚嶇О锛�"); rowHand.createCell(1).setCellValue(start.battNameStr); rowHand.createCell(2).setCellValue("鐢垫睜鍝佺墝锛�"); - rowHand.createCell(1).setCellValue(start.battBrandStr); + rowHand.createCell(3).setCellValue(start.battBrandStr); rowNum++; @@ -118,23 +255,22 @@ } rowNum++; //鏁版嵁鏍� - if(5!=0){ - for (int i = 0; i < list.size(); i++) { - sheet.createRow(rowNum); //鍒涘缓琛� - for(int j=0;j<5;j++){ - FboData fbo=list.get(i+j); - sheet.getRow(rowNum).createCell(0).setCellValue(fbo.m_TestTime.hms()); - sheet.getRow(rowNum).createCell(1).setCellValue(fbo.SumVoltage); - sheet.getRow(rowNum).createCell(2).setCellValue(fbo.testCap); - sheet.getRow(rowNum).createCell(3).setCellValue(fbo.residualCap); - for (int k = 0;k<list.get(0).SingleVol.length;k++){ - sheet.getRow(rowNum).createCell(4+k).setCellValue(fbo.SingleVol[k]); - } + for (int i = 0; i < list.size(); i++) { + sheet.createRow(rowNum); //鍒涘缓琛� + for(int j=0;j<5;j++){ + FboData fbo=list.get(i); + sheet.getRow(rowNum).createCell(0).setCellValue(fbo.m_TestTime.hms()); + sheet.getRow(rowNum).createCell(1).setCellValue(fbo.SumVoltage); + sheet.getRow(rowNum).createCell(2).setCellValue(fbo.testCap); + sheet.getRow(rowNum).createCell(3).setCellValue(fbo.residualCap); + for (int k = 0;k<list.get(0).SingleVol.length;k++){ + sheet.getRow(rowNum).createCell(4+k).setCellValue(fbo.SingleVol[k]); } - i=i+5-1; - rowNum++; } + i=i+5-1; + rowNum++; } + rowNum+=2; //鎻掑叆鍥剧墖 int picNum = 0; @@ -153,7 +289,6 @@ rowNum+=27; } } - rowNum++; try { -- Gitblit v1.9.1