lxw
2023-05-17 983e14024d7b1c62b8d4254fc8e654ce206b078b
src/main/java/com/whyc/service/ExcelExportService.java
@@ -93,7 +93,7 @@
        rowNumSheet++;
        sheet.createRow(rowNumSheet);
        sheet.getRow(rowNumSheet).createCell(0).setCellValue("测试开始时间:" + formartDate(capState.StartDT.time,"yyyy-MM-dd HH:mm:ss"));
        sheet.getRow(rowNumSheet).createCell(1).setCellValue("测试时长:" + capState.Test_Time.hour+":"+capState.Test_Time.minute+":"+capState.Test_Time.second);
        sheet.getRow(rowNumSheet).createCell(1).setCellValue("测试时长:" + getHHMMSS(capState.Test_Time.hour,capState.Test_Time.minute,capState.Test_Time.second));
        rowNumSheet += 4;
        //插入图片
@@ -104,7 +104,7 @@
                sheet.createRow(rowNumSheet - 1);
                sheet.getRow(rowNumSheet - 1).createCell(0).setCellValue(picName[i]);
                //rowNum++;
                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255, (short) 0, rowNumSheet, (short) 10, rowNumSheet + 27);
                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255, (short) 0, rowNumSheet, (short) 10, rowNumSheet + 24);
                anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
                patriarch.createPicture(anchor, wb.addPicture(bytes.get(picNum), XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
                picNum++;
@@ -132,7 +132,7 @@
        for (int i = 0; i < list.size(); i++) {
            sheet1.createRow(rowNum);  //创建行
            Fbs5100FbsData fbsData = list.get(i);
            sheet1.getRow(rowNum).createCell(0).setCellValue(fbsData.testTime.hour+":"+fbsData.testTime.minute+":"+fbsData.testTime.second);
            sheet1.getRow(rowNum).createCell(0).setCellValue(getHHMMSS(fbsData.testTime.hour,fbsData.testTime.minute,fbsData.testTime.second));
            sheet1.getRow(rowNum).createCell(1).setCellValue(String.valueOf(fbsData.muxianvol_discharge));
            sheet1.getRow(rowNum).createCell(2).setCellValue(String.valueOf(fbsData.muxianvol_charge));
            sheet1.getRow(rowNum).createCell(3).setCellValue(String.valueOf(fbsData.boostDCDC_OutVol));
@@ -164,6 +164,27 @@
    public static String formartDate(Date date, String str){
        return new SimpleDateFormat(str).format(date);
    }
    //获取标准格式时间
    public static String getHHMMSS(int hour,int minute,int second){
        String time="";
        if(hour<10){
            time+="0"+hour;
        }else{
            time+=""+hour;
        }
        if(minute<10){
            time+=":"+"0"+minute;
        }else{
            time+=":"+minute;
        }
        if(second<10){
            time+=":"+"0"+second;
        }else{
            time+=":"+second;
        }
        return time;
    }
    public String[] getRowName(String bcp){
        if (bcp.equals("bcp")){
            String[] rowNameBcp = {"测试时间","放电母线电压(V)","充电母线电压(V)","升压DCDC输出电压","48V母线电压"};
@@ -172,7 +193,7 @@
            String[] rowNameChr = {"测试时间","放电母线电压(V)","充电母线电压(V)","升压DCDC输出电压","48V母线电压"};
            return rowNameChr;
        }else if (bcp.equals("alm")){
            String[] rowNameAlm = {"测试时间","告警名称","告警类型","告警值"};
            String[] rowNameAlm = {"告警开始时间","告警名称","告警类型","告警值"};
            return rowNameAlm;
        }else{
            String[] rowName1 = {"测试时间","总电压(V)","总电流(A)","环境温度","环境湿度","测试容量(AH)"};
@@ -253,7 +274,7 @@
        rowNumSheet++;
        sheet.createRow(rowNumSheet);
        sheet.getRow(rowNumSheet).createCell(0).setCellValue("测试开始时间:" + formartDate(chargeState.StartDT.time,"yyyy-MM-dd HH:mm:ss"));
        sheet.getRow(rowNumSheet).createCell(1).setCellValue("测试时长:" + chargeState.Test_Time.hour+":"+chargeState.Test_Time.minute+":"+chargeState.Test_Time.second);
        sheet.getRow(rowNumSheet).createCell(1).setCellValue("测试时长:" + getHHMMSS(chargeState.Test_Time.hour,chargeState.Test_Time.minute,chargeState.Test_Time.second));
        rowNumSheet += 4;
        //图片元素
@@ -266,7 +287,7 @@
                sheet.createRow(rowNumSheet-1);
                sheet.getRow(rowNumSheet-1).createCell(0).setCellValue(picName[i]);
                //rowNum++;
                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+27);
                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 512, 255,(short) 0, rowNumSheet, (short) 10, rowNumSheet+24);
                anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
                patriarch.createPicture(anchor,wb.addPicture(bytes.get(picNum),XSSFWorkbook.PICTURE_TYPE_PNG)).resize(1);
                picNum ++;
@@ -293,7 +314,7 @@
        for (int i = 0; i < list.size(); i++) {
            sheet1.createRow(rowNum);  //创建行
            Fbs5100FbsData fbsData = list.get(i);
            sheet1.getRow(rowNum).createCell(0).setCellValue(fbsData.testTime.hour+":"+fbsData.testTime.minute+":"+fbsData.testTime.second);
            sheet1.getRow(rowNum).createCell(0).setCellValue(getHHMMSS(fbsData.testTime.hour,fbsData.testTime.minute,fbsData.testTime.second));
            sheet1.getRow(rowNum).createCell(1).setCellValue(String.valueOf(fbsData.muxianvol_discharge));
            sheet1.getRow(rowNum).createCell(2).setCellValue(String.valueOf(fbsData.muxianvol_charge));
            sheet1.getRow(rowNum).createCell(3).setCellValue(String.valueOf(fbsData.boostDCDC_OutVol));
@@ -330,7 +351,6 @@
        List<Fbs5100Alarm> list=data.alarms;
        //当前日期
        String excelName ="alm-"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        XSSFWorkbook wb = new XSSFWorkbook();
        XSSFSheet sheet = wb.createSheet("数据总表");
        int rowNumSheet = 0;
@@ -345,10 +365,10 @@
        sheet.createRow(rowNumSheet);
        sheet.getRow(rowNumSheet).createCell(0).setCellValue("交流电压上限值:"+alarmParam.AC_VOL_H);
        sheet.getRow(rowNumSheet).createCell(1).setCellValue("交流电压下限值:"+alarmParam.AC_VOL_L);
        rowNumSheet+=4;
        rowNumSheet++;
        //从文件中获取数据
        String testName="测试数据";
        String testName="测试数据:";
        //抬头
        sheet.createRow(rowNumSheet).createCell(0).setCellValue(testName);
        rowNumSheet++;