| | |
| | | XSSFSheet sheet = wb.createSheet("数据总表"); |
| | | //图片元素 |
| | | XSSFDrawing patriarch = sheet.createDrawingPatriarch(); |
| | | |
| | | int rowNumSheet = 0; |
| | | int rowNumSheet = 1; |
| | | //插入图片 |
| | | int picNum = 0; |
| | | String[] picName =new String[]{"单体电压折线图","单体内阻折线图","单体温度折线图"}; |
| | |
| | | RESDataInfo resDataInfo =resService.readFileData(filePath); |
| | | //从文件中获取数据 |
| | | List<RESData> list = resDataInfo.resDatas; |
| | | XSSFSheet sheet1 = wb.createSheet("内阻数据"); |
| | | //新建行 |
| | | |
| | | //抬头 |
| | | int rowNum = 0; |
| | | sheet1.createRow(rowNum).createCell(0).setCellValue("测试数据(内阻)"); |
| | | rowNum++; |
| | | //属性栏 |
| | | String[] rowName =new String[]{"测试时间"}; |
| | | XSSFRow row = sheet1.createRow(rowNum); |
| | | for (int i=0;i<rowName.length;i++){ |
| | | row.createCell(i).setCellValue(rowName[i]); |
| | | } |
| | | int battNum=list.get(0).getBattSum();//单体个数 |
| | | for(int i=0;i<battNum;i++){ |
| | | row.createCell(rowName.length+i).setCellValue("#"+Integer.valueOf(i+1)); |
| | | } |
| | | rowNum++; |
| | | //数据栏 |
| | | for (int i = 0; i < list.size(); i++) { |
| | | sheet1.createRow(rowNum); //创建行 |
| | | RESData resData=list.get(i); |
| | | float[] monomerRes=resData.getMonomerRes(); |
| | | sheet1.getRow(rowNum).createCell(0).setCellValue(resData.getData_Time()); |
| | | for (int k = 0;k<battNum;k++){ |
| | | sheet1.getRow(rowNum).createCell(k+1).setCellValue(monomerRes[i]); |
| | | } |
| | | rowNum++; |
| | | } |
| | | |
| | | rowNum++; |
| | | |
| | | //创建不同sheet |
| | | createBresSheet(wb,battNum,list,1);//创建内阻数据 |
| | | createBresSheet(wb,battNum,list,2);//创建温度数据 |
| | | createBresSheet(wb,battNum,list,3);//创建电压数据 |
| | | try { |
| | | // 转码防止乱码 |
| | | resp.addHeader("Content-Disposition", "attachment;filename=" |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | //bres中内阻数据/温度数据/单体电压数据放在不同的sheet中 |
| | | public void createBresSheet(XSSFWorkbook wb,int battNum,List<RESData> list,int type){ |
| | | String sheetName=""; |
| | | String testName=""; |
| | | switch (type){ |
| | | case 1:sheetName= "内阻数据";testName="测试数据(内阻)";break; |
| | | case 2:sheetName= "温度数据";testName="测试数据(温度)";break; |
| | | case 3:sheetName= "电压数据";testName="测试数据(电压)";break; |
| | | } |
| | | XSSFSheet sheet1 = wb.createSheet(sheetName); |
| | | //抬头 |
| | | int rowNum = 0; |
| | | sheet1.createRow(rowNum).createCell(0).setCellValue(testName); |
| | | rowNum++; |
| | | //属性栏 |
| | | XSSFRow row = sheet1.createRow(rowNum); |
| | | row.createCell(0).setCellValue("测试时间"); |
| | | |
| | | for(int i=0;i<battNum;i++){ |
| | | row.createCell(1+i).setCellValue("#"+Integer.valueOf(i+1)); |
| | | } |
| | | rowNum++; |
| | | float[] datas=new float[]{}; |
| | | //数据栏 |
| | | for (int i = 0; i < list.size(); i++) { |
| | | sheet1.createRow(rowNum); //创建行 |
| | | RESData resData= list.get(i); |
| | | switch (type){ |
| | | case 1:datas= resData.getMonomerRes();break; |
| | | case 2:datas= resData.getMonomerTemp();break; |
| | | case 3:datas= resData.getMonomerVol();break; |
| | | } |
| | | sheet1.getRow(rowNum).createCell(0).setCellValue(formartDate(resData.getData_Time(),"yyyy-MM-dd HH:mm:ss")); |
| | | for (int k = 0;k<battNum;k++){ |
| | | sheet1.getRow(rowNum).createCell(k+1).setCellValue(datas[i]); |
| | | } |
| | | rowNum++; |
| | | } |
| | | rowNum++; |
| | | } |
| | | |
| | | /** |
| | | * 将日期格式转换成指定的字符串格式 |