lxw
2023-04-27 a0ffdc60ad3376335a51eaffcb4481830400ae2c
export导出修改
1个文件已修改
64 ■■■■■ 已修改文件
src/main/java/com/whyc/service/EchartPictureDowloadService.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/EchartPictureDowloadService.java
@@ -1466,8 +1466,14 @@
                    rownum++;
                }
            }
            //单体数据表
            createMonInfoSheet(wb, mon_vol_list, mon_tmp_list, groupinfo);
            //单体数
            int monNum = mon_tmp_list.length;
            //导出的总笔数
            int exportNum = groupinfo.size();
            //单体电压数据表(flag(0:单体电压,1:温度))
            createMonInfoSheet(wb, mon_vol_list, groupinfo, monNum, exportNum, 0);
            //单体温度数据表
            createMonInfoSheet(wb, mon_tmp_list, groupinfo, monNum, exportNum, 1);
            //单体电压对比表-单体温度对比表
            createMonInfoSheet2(bytes, wb, splitTime, timeCompareList, monVolCompareList, monTempCompareList, monVolComparePic, monTempComparePic);
@@ -1728,19 +1734,25 @@
        return new BigDecimal(b).setScale(places, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
    public void createMonInfoSheet(HSSFWorkbook wb, String[][] mon_vol_list, String[][] mon_tmp_list, List<BatttestdataId> groupinfo) {
    public void createMonInfoSheet(HSSFWorkbook wb, String[][] datalist, List<BatttestdataId> groupinfo, int monNum, int exportNum, int flag) {
        String lang = ActionUtil.getLang();
        HSSFSheet sheet = null;
        if (lang.contains("zh")) {
            sheet = wb.createSheet("单体数据表");
            if (flag == 0) {
                sheet = wb.createSheet("单体电压表");
        } else {
            sheet = wb.createSheet("Individual Data Table");
                sheet = wb.createSheet("单体温度表");
        }
        if (mon_vol_list != null && mon_tmp_list != null && groupinfo != null) {
            int mon_count = mon_tmp_list.length;        //总单体数量
            int total_col = mon_vol_list.length;        //总记录条数
        } else {
            if (flag == 0) {
                sheet = wb.createSheet("Voltage Data Table");
            } else {
                sheet = wb.createSheet("Temperature Data Table");
            }
        }
        if (datalist != null && groupinfo != null) {
           /* int mon_count = mon_tmp_list.length;        //总单体数量
            int total_col = mon_vol_list.length;        //总记录条数*/
            List<String> tabTh = null;
            if (lang.contains("zh")) {
                tabTh = new ArrayList<String>() {{
@@ -1759,15 +1771,23 @@
                    this.add("Test capacity(AH)");
                }};
            }
            for (int i = 1; i <= mon_count; i++) {
            for (int i = 1; i <= monNum; i++) {
                if (lang.contains("zh")) {
                    if (flag == 0) {
                    tabTh.add("单体电压" + i + "(V)");
                } else {
                        tabTh.add("单体温度" + i + "(℃)");
                    }
                } else {
                    if (flag == 0) {
                    tabTh.add("Individual voltage" + i + "(V)");
                    } else {
                        tabTh.add("Monomer temperature" + i + "(V)");
                    }
                }
            }
            for (int i = 0; i <= mon_count; i++) {
            /*for (int i = 0; i <= monNum; i++) {
                if (i == 0) {
                    tabTh.add("");
                    continue;
@@ -1778,9 +1798,9 @@
                    tabTh.add("Monomer temperature" + i + "(V)");
                }
            }
            }*/
            String[][] datas = new String[total_col][tabTh.size()];
            String[][] datas = new String[exportNum][tabTh.size()];
            //System.out.println("datas.length"+datas.length+"\t datas[0].length:"+datas[0].length+"==mon_vol_list.length:"+mon_vol_list.length+"\tmon_vol_list[0].length"+mon_vol_list[0].length+"\tmon_tmp:"+mon_tmp_list[0].length);
@@ -1793,24 +1813,26 @@
                datas[j][currnum++] = formartDouble(groupinfo.get(j).getTestCurr(),1)+"";
                datas[j][currnum++] = formartDouble(groupinfo.get(j).getTestCap(),1)+"";
                for(int i=0;i<mon_vol_list[j].length;i++){
                    datas[j][currnum++] = mon_vol_list[j][i];
                if (flag == 0) {
                    for (int i = 0; i < monNum; i++) {
                        datas[j][currnum++] = datalist[j][i];
                }
                datas[j][currnum++] = "";
                for(int i=0;i<mon_tmp_list.length;i++){
                    datas[j][currnum++] = mon_tmp_list[i][j];
                } else {
                    for (int i = 0; i < monNum; i++) {
                        datas[j][currnum++] = datalist[i][j];
                }
                }
                //datas[j][currnum++] = "";
            }
            //System.out.println("mon_vol_list"+mon_vol_list.length+"\t mon_tmp_list:"+mon_tmp_list.length);
            int maxcol = 254;            //设置最大列数
            int countReLine = (int) Math.ceil((double)total_col/maxcol);
            int countReLine = (int) Math.ceil((double) exportNum / maxcol);
            int totalrow = countReLine *(tabTh.size()+1);                    //excel总行数
            for(int i=0;i<totalrow;i++){
                sheet.createRow(i);
            }
            //System.out.println("countReLine:"+countReLine);
            int currRow = 0;            //当前行