Commit 947bb1d865349083f383439dccbdf6bfcdb562e2

Authored by unknown
1 parent fc987df9
Exists in master

1.ExcelUtil优化

@@ -59,7 +59,7 @@ uploadArchives { @@ -59,7 +59,7 @@ uploadArchives {
59 authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) 59 authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
60 } 60 }
61 pom.project { 61 pom.project {
62 - version '1.1.26' 62 + version '1.1.28'
63 artifactId ARTIFACT_Id 63 artifactId ARTIFACT_Id
64 groupId GROUP_ID 64 groupId GROUP_ID
65 packaging TYPE 65 packaging TYPE
src/main/java/com/taover/util/UtilExcel.java
@@ -310,26 +310,11 @@ public class UtilExcel { @@ -310,26 +310,11 @@ public class UtilExcel {
310 lastCellNum = UtilExcel.maxExcelColumnNum; 310 lastCellNum = UtilExcel.maxExcelColumnNum;
311 } 311 }
312 for(int j=0; j<lastCellNum; ++j){ 312 for(int j=0; j<lastCellNum; ++j){
313 - Cell cell = row.getCell(j);  
314 - if(cell != null){  
315 - CellType currCellType = cell.getCellTypeEnum();  
316 -  
317 - if(currCellType.compareTo(CellType.STRING) == 0){  
318 - dataRow.add(UtilString.trimCodePage(cell.getRichStringCellValue().getString()));  
319 - }else if(currCellType.compareTo(CellType.NUMERIC) == 0){  
320 - dataRow.add(df.format(cell.getNumericCellValue()));  
321 -  
322 - }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){  
323 - dataRow.add(cell.getBooleanCellValue());  
324 - }else if(currCellType.compareTo(CellType.FORMULA) == 0){  
325 - dataRow.add(cell.getStringCellValue());  
326 - }else if(currCellType.compareTo(CellType.BLANK) == 0  
327 - || currCellType.compareTo(CellType.ERROR) == 0){  
328 - dataRow.add("");  
329 - }  
330 -  
331 - }else{ 313 + try {
  314 + dataRow.add(getCellValue(row.getCell(j), df));
  315 + }catch(Exception e) {
332 dataRow.add(""); 316 dataRow.add("");
  317 + e.printStackTrace();
333 } 318 }
334 } 319 }
335 result.add(dataRow); 320 result.add(dataRow);
@@ -337,6 +322,39 @@ public class UtilExcel { @@ -337,6 +322,39 @@ public class UtilExcel {
337 return result; 322 return result;
338 } 323 }
339 324
  325 + private static Object getCellValue(Cell cell, DecimalFormat df) {
  326 + if(cell == null) {
  327 + return "";
  328 + }
  329 + CellType currCellType = cell.getCellTypeEnum();
  330 +
  331 + if(currCellType.compareTo(CellType.STRING) == 0){
  332 + return UtilString.trimCodePage(cell.getRichStringCellValue().getString());
  333 + }else if(currCellType.compareTo(CellType.NUMERIC) == 0){
  334 + return df.format(cell.getNumericCellValue());
  335 + }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){
  336 + return cell.getBooleanCellValue();
  337 + }else if(currCellType.compareTo(CellType.FORMULA) == 0){
  338 + return getFormulatValue(cell, df);
  339 + }
  340 + return "";
  341 + }
  342 +
  343 + private static Object getFormulatValue(Cell cell, DecimalFormat df) {
  344 + CellType formulatResultType = cell.getCachedFormulaResultTypeEnum();
  345 +
  346 + if(formulatResultType.compareTo(CellType.STRING) == 0){
  347 + return UtilString.trimCodePage(cell.getRichStringCellValue().getString());
  348 + }else if(formulatResultType.compareTo(CellType.NUMERIC) == 0){
  349 + return df.format(cell.getNumericCellValue());
  350 + }else if(formulatResultType.compareTo(CellType.BOOLEAN) == 0){
  351 + return cell.getBooleanCellValue();
  352 + }else if(formulatResultType.compareTo(CellType.FORMULA) == 0){
  353 + return "";
  354 + }
  355 + return "";
  356 + }
  357 +
340 public static List<List<Object>> readExcelBySheetIndexExcludeHideLine(String filepath, int sheetIndex) throws Exception{ 358 public static List<List<Object>> readExcelBySheetIndexExcludeHideLine(String filepath, int sheetIndex) throws Exception{
341 File file = new File(filepath); 359 File file = new File(filepath);
342 List<List<Object>> result = new ArrayList<List<Object>>(); 360 List<List<Object>> result = new ArrayList<List<Object>>();