From a3f31ff8adf23c1db33b7806f57dd5a23ebaa192 Mon Sep 17 00:00:00 2001 From: whyczh <hzjl@qq.com> Date: 星期五, 18 三月 2022 14:08:15 +0800 Subject: [PATCH] 更新 --- src/main/java/testElectronJ/TestController.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 155 insertions(+), 7 deletions(-) diff --git a/src/main/java/testElectronJ/TestController.java b/src/main/java/testElectronJ/TestController.java index e1d9128..4378173 100644 --- a/src/main/java/testElectronJ/TestController.java +++ b/src/main/java/testElectronJ/TestController.java @@ -1,10 +1,21 @@ package testElectronJ; -import org.springframework.beans.factory.annotation.Autowired; +import org.apache.poi.hssf.usermodel.*; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Decoder; +import testElectronJ.util.ServletUtils; -import java.io.FileInputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; @RestController @RequestMapping("test") @@ -25,12 +36,149 @@ return new Response().set(1,fboDataInf,filePath); } - @PostMapping("/readFboFileStream") - public Response readFboFileStream(@RequestParam FileInputStream fis) { + @PostMapping("/export") + public void export(HttpServletRequest req, HttpServletResponse resp){ + + String lbottom_echart = req.getParameter("lbottom_echart"); //鐢垫睜鐢垫祦鎶樼嚎鍥� + String rbottom_echart = req.getParameter("rbottom_echart"); //鍗曚綋鐢靛帇鎶樼幇鍥� + + String rl_echart = req.getParameter("ltop_echart"); //鍗曚綋瀹归噺鏌辩姸鍥� + String sjbg_echart = req.getParameter("rtop_echart"); //鏁版嵁琛ㄦ牸 + + String zddy_echart = req.getParameter("ltop_echart"); //缁勭鐢靛帇 + String dtdy_echart = req.getParameter("rtop_echart"); //鍗曚綋鐢靛帇鎶樼嚎鍥� + + //int battGroupId =Integer.valueOf(req.getParameter("battGroupId")); //鐢垫睜缁勭紪鍙� + //int testRecordCount =Integer.valueOf(req.getParameter("testRecordCount")); //娴嬭瘯缂栧彿 + + String filePath = req.getParameter("filePath"); FboDataInf fboDataInf = new FboDataInf(); - //String filePath1 = java.net.URLDecoder.decode(filePath,"utf-8"); - fboDataInf.readFboFileStream(fis); - return new Response().set(1,fboDataInf); + fboDataInf.readFboFile(filePath); + + List<FboData> list = fboDataInf.fboData; + + List<byte[]> bytes = new ArrayList<>(); + + try { + if (ServletUtils.isNotNull(lbottom_echart)) { + String[] url = lbottom_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(rbottom_echart)) { + String[] url = rbottom_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(rl_echart)) { + String[] url = rl_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(sjbg_echart)) { + String[] url = sjbg_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(zddy_echart)) { + String[] url = zddy_echart.split(","); + bytes.add(new BASE64Decoder().decodeBuffer(url[1])); + }if (ServletUtils.isNotNull(dtdy_echart)) { + String[] url = dtdy_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 rowNum = 0; + HSSFRow rowTitle = sheet.createRow(rowNum); + HSSFCell cellTitle = rowTitle.createCell(0); + cellTitle.setCellValue("涓�浣撴満鍏呮斁鐢垫暟鎹�"); + cellTitle.setCellStyle(cellStyle); + rowNum++; + //灞炴�ф爮 + HSSFRow row = sheet.createRow(rowNum); + + row.createCell(0).setCellValue("娴嬭瘯鏃堕暱"); //鍒涘缓鍗曞厓鏍� + row.createCell(1).setCellValue("鎬荤數鍘�"); + row.createCell(2).setCellValue("娴嬭瘯瀹归噺"); + row.createCell(3).setCellValue("鍓╀綑瀹归噺"); + for(int i=0;i<5;i++){ + row.createCell(4+i).setCellValue("#"+Integer.valueOf(i+1)); + } + 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.toString()); + sheet.getRow(rowNum).createCell(1).setCellValue(fbo.SumVoltage); + sheet.getRow(rowNum).createCell(2).setCellValue(fbo.testCap); + sheet.getRow(rowNum).createCell(3).setCellValue(fbo.residualCap); + //sheet.getRow(rowNum).createCell(4+j).setCellValue(fbo.getMonVol()); + } + i=i+5-1; + rowNum++; + } + } + rowNum+=2; + //鎻掑叆鍥剧墖 + int picNum = 0; + String[] picName = new String[]{ + "鐢垫睜鐢垫祦鎶樼嚎鍥�","鍗曚綋鐢靛帇鏌辩姸鍥�","鍗曚綋瀹归噺鏌辩姸鍥�","鏁版嵁琛ㄦ牸","缁勭鐢靛帇","鍗曚綋鐢靛帇鎶樼嚎鍥�" + }; + //for(int i=0;i<picName.length;i++){ + // sheet.createRow(rowNum-1); + // sheet.getRow(rowNum-1).createCell(0).setCellValue(picName[i]); + // //rowNum++; + // HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNum, (short) 10, rowNum+27); + // anchor.setAnchorType(3); + // patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),HSSFWorkbook.PICTURE_TYPE_PNG)).resize(1); + // picNum ++;rowNum+=27; + //} + + 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(); + } + } + + + + @PostMapping("/readFboFileStream") + public Response readFboFileStream(@RequestParam("mFile") MultipartFile mFile, HttpServletRequest request) throws IOException { + if (!mFile.isEmpty()){ + File file = new File(mFile.getOriginalFilename()); + System.out.println(file.getPath()); + FboDataInf fboDataInf = new FboDataInf(); + fboDataInf.readFboFile(file); + return new Response().set(1,fboDataInf); + }else { + return new Response().set(0,"鏂囦欢涓虹┖"); + } } } -- Gitblit v1.9.1