蔡德晨 5 年 前
コミット
0abf14a9ed

+ 17 - 36
src/main/java/com/jeeplus/common/utils/excel/ImportExcel.java

@@ -227,44 +227,25 @@ public class ImportExcel {
 		return val;
 	}
 
-	public Object getValue(int rowNum,int column){
+	public Double getDouble(int rowNum,int column){
 		Row row = this.sheet.getRow(rowNum);
-		Object val = "";
-		try {
-			Cell cell = row.getCell(column);
-			if (cell != null) {
-				if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
-					// val = cell.getNumericCellValue();
-					// 当excel 中的数据为数值或日期是需要特殊处理
-					if (HSSFDateUtil.isCellDateFormatted(cell)) {
-						double d = cell.getNumericCellValue();
-						Date date = HSSFDateUtil.getJavaDate(d);
-						SimpleDateFormat dformat = new SimpleDateFormat(
-								"yyyy-MM-dd");
-						val = dformat.format(date);
-					} else {
-						NumberFormat nf = NumberFormat.getInstance();
-						nf.setGroupingUsed(false);// true时的格式:1,234,567,890
-						val = nf.format(cell.getNumericCellValue());// 数值类型的数据为double,所以需要转换一下
-					}
-				} else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
-					val = cell.getStringCellValue();
-				} else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
-					val = cell.getCellFormula();
-				} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
-					val = cell.getBooleanCellValue();
-				} else if (cell.getCellType() == Cell.CELL_TYPE_ERROR) {
-					val = cell.getErrorCellValue();
-				}
-			} else {
-				val = "0";
-			}
-		} catch (Exception e) {
-			return val;
-		}
-		return val;
-
+		Double d =0.00;
+		Object val = getCellValue(row,column);
+		if(!val.equals("")){
+		    d=Double.parseDouble(val.toString());
+        }
+		return d;
 	}
+
+    public String getValue(int rowNum,int column){
+        Row row = this.sheet.getRow(rowNum);
+        String str = "";
+        Object val = getCellValue(row,column);
+        if(!val.equals("")){
+            str = val.toString();
+        }
+        return str;
+    }
 	
 	/**
 	 * 获取导入数据列表

+ 20 - 8
src/main/java/com/jeeplus/modules/sg/util/JkxlExcel.java

@@ -10,14 +10,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class JkxlExcel {
-    public static List<JkxlData> getData(String  file) throws IOException, InvalidFormatException {
+    public static List<JkxlData> getData(MultipartFile  file,Double[] rate) throws IOException, InvalidFormatException {
         ImportExcel importExcel = new ImportExcel(file,1,3);
-        JkxlData jkxlData = new JkxlData();
         List<JkxlData> list = new ArrayList<>();
         int lastRow = importExcel.getLastDataRowNum();
         int[] row = new int[6];
         for(int i=0;i<lastRow;i++){
-            String type = (String) importExcel.getValue(i+1,2);
+            String type =  importExcel.getValue(i+1,2);
             if(type.equals("1 基础工程")){
                 row[0] = i+1;
             }
@@ -38,11 +37,24 @@ public class JkxlExcel {
             }
         }
         for(int i=0;i<6;i++){
-            jkxlData.setOriginalTotalCost((Double.parseDouble(importExcel.getValue(row[i],12).toString())));
-            jkxlData.setOriginalRgCost((Double.parseDouble(importExcel.getValue(row[i],13).toString())));
-            jkxlData.setOriginalCbrCost((Double.parseDouble(importExcel.getValue(row[i],14).toString())));
-            jkxlData.setOriginalFbrCost((Double.parseDouble(importExcel.getValue(row[i],15).toString())));
-            jkxlData.setOriginalJxCost((Double.parseDouble(importExcel.getValue(row[i],17).toString())));
+            JkxlData jkxlData = new JkxlData();
+            Double originalRgCost = importExcel.getDouble(row[i],13);
+            Double rgCost = originalRgCost/(1+rate[0]);
+            Double originalCbrCost = importExcel.getDouble(row[i],14);
+            Double cbrCost = originalCbrCost/(1+rate[1]);
+            Double originalFbrCost = importExcel.getDouble(row[i],15);
+            Double fbrCost = originalFbrCost/(1+rate[1]);
+            Double originalJxrCost = importExcel.getDouble(row[i],17);
+            Double jxCost = originalJxrCost/(1+rate[2]);
+            jkxlData.setOriginalTotalCost(importExcel.getDouble(row[i],12));
+            jkxlData.setOriginalRgCost(originalRgCost);
+            jkxlData.setRgCost(rgCost);
+            jkxlData.setOriginalCbrCost(originalCbrCost);
+            jkxlData.setCbrCost(cbrCost);
+            jkxlData.setOriginalFbrCost(originalFbrCost);
+            jkxlData.setFbrCost(fbrCost);
+            jkxlData.setOriginalJxCost(originalJxrCost);
+            jkxlData.setJxCost(jxCost);
             list.add(jkxlData);
         }
         return list;

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/util/Text.java

@@ -13,6 +13,6 @@ public class Text {
  @Test
   public void text() throws IOException, InvalidFormatException {
       String file = "target/1.xls";
-      List<JkxlData> list = JkxlExcel.getData(file);
+//      List<JkxlData> list = JkxlExcel.getData(file);
   }
 }