From 737593fce20bea24820ab58d7e1227b05880ab8a Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 26 三月 2025 10:18:06 +0800 Subject: [PATCH] 电池组统计分析的导出 --- src/main/java/com/whyc/service/EchartPictureDowloadService.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/EchartPictureDowloadService.java b/src/main/java/com/whyc/service/EchartPictureDowloadService.java index 3313e95..e505053 100644 --- a/src/main/java/com/whyc/service/EchartPictureDowloadService.java +++ b/src/main/java/com/whyc/service/EchartPictureDowloadService.java @@ -75,9 +75,99 @@ ExportElectricityPrice(req,resp); //鐢典环缁熻鎶ヨ〃 }else if("A059".equalsIgnoreCase(pageName)){ ExportA059(req,resp); //A059涓�浣撴満瀵煎嚭鎶ヨ〃 + }else if("eleAnalyse".equalsIgnoreCase(pageName)){ + Exportele_eleAnalyseTable(req,resp); //鐢垫睜缁勭粺璁″垎鏋愭煡璇� } } } + //鐢垫睜缁勭粺璁″垎鏋愭煡璇� + private void Exportele_eleAnalyseTable( HttpServletRequest req,HttpServletResponse resp + ) { + String excelTitle="鐢垫睜缁勭粺璁℃煡璇�"; + String pictureName="鐢垫睜缁勭粺璁″垎鏋愬浘"; + String[] arr_Th=req.getParameter("arr_Th").split(","); + String[] arr_Td=req.getParameter("arr_Td").split(","); + String[] echart_url=req.getParameter("echart_url").split(","); + int rowindex=4; + //System.out.println(arr_Td.length+"##"+arr_Th.length); + //瀹氫箟涓�涓伐浣滅翱 + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFSheet sheet = workbook.createSheet(excelTitle); + // 浜х敓琛ㄦ牸鏍囬琛� + HSSFRow title = sheet.createRow(0); + HSSFCell titlecell = title.createCell(0); + HSSFRichTextString tname = new HSSFRichTextString(excelTitle); + //System.out.print(text+"\t"); + titlecell.setCellValue(tname); + if(arr_Th!=null && arr_Th.length>0){ + HSSFRow row0 = sheet.createRow(1); + for(int i=0;i<arr_Th.length;i++){ + HSSFCell cell = row0.createCell(i); + HSSFRichTextString text = new HSSFRichTextString(arr_Th[i]); + //System.out.print(text+"\t"); + cell.setCellValue(text); + } + + if(arr_Td!=null && arr_Td.length>0){ + int rowNum=(int)(Math.ceil((double)arr_Td.length/arr_Th.length)); //鎬昏鏁� + int index=0; + //System.out.println("鎬诲叡鏈�"+rowNum+"琛�"); + for(int i=1;i<=rowNum;i++){ + HSSFRow row = sheet.createRow(i+1); + for(int j=0;j<arr_Th.length && index<arr_Td.length;j++){ + HSSFCell cell = row.createCell(j); + HSSFRichTextString text = new HSSFRichTextString(arr_Td[index++]); + //System.out.print((i-1)*rowNum+j+"\t"); + //System.out.print(text+"\t"); + cell.setCellValue(text); + } + } + rowindex=rowNum+3; + } + } + HSSFRow row = sheet.createRow(rowindex); + HSSFCell cell = row.createCell(0); + HSSFRichTextString text = new HSSFRichTextString(pictureName); + //System.out.print((i-1)*rowNum+j+"\t"); + //System.out.print(text+"\t"); + cell.setCellValue(text); + if(echart_url!=null && echart_url.length>0){ + List<byte[]> bytes=new ArrayList<byte[]>(); + try { + bytes.add(new BASE64Decoder().decodeBuffer(echart_url[1])); + HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); + for (int i = 0; i < bytes.size(); i++) { + HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 512, 255, + (short) 0, rowindex+1, (short) 0, 1000 * (2 + 1)); + anchor.setAnchorType(3); + // 鎻掑叆鍥剧墖 + patriarch.createPicture( + anchor, + workbook.addPicture(bytes.get(i), + HSSFWorkbook.PICTURE_TYPE_PNG)).resize(1); + } + + } catch (IOException e) { + e.printStackTrace(); + } + } + + // 杞爜闃叉涔辩爜 + try { + resp.addHeader("Content-Disposition", "attachment;filename=" + + new String(excelName.getBytes("UTF-8"), "ISO8859-1") + + ".xls"); + OutputStream out = resp.getOutputStream(); + workbook.write(out); + out.close(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + //瀵煎嚭鍗曚釜鍥捐〃 private void chargeExcelExprot(HttpServletRequest req, HttpServletResponse resp) { -- Gitblit v1.9.1