Commit 947bb1d865349083f383439dccbdf6bfcdb562e2
1 parent
fc987df9
Exists in
master
1.ExcelUtil优化
Showing
2 changed files
with
38 additions
and
20 deletions
Show diff stats
build.gradle
@@ -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>>(); |