Commit 947bb1d865349083f383439dccbdf6bfcdb562e2

Authored by unknown
1 parent fc987df9
Exists in master

1.ExcelUtil优化

build.gradle
... ... @@ -59,7 +59,7 @@ uploadArchives {
59 59 authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
60 60 }
61 61 pom.project {
62   - version '1.1.26'
  62 + version '1.1.28'
63 63 artifactId ARTIFACT_Id
64 64 groupId GROUP_ID
65 65 packaging TYPE
... ...
src/main/java/com/taover/util/UtilExcel.java
... ... @@ -310,26 +310,11 @@ public class UtilExcel {
310 310 lastCellNum = UtilExcel.maxExcelColumnNum;
311 311 }
312 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 316 dataRow.add("");
  317 + e.printStackTrace();
333 318 }
334 319 }
335 320 result.add(dataRow);
... ... @@ -337,6 +322,39 @@ public class UtilExcel {
337 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 358 public static List<List<Object>> readExcelBySheetIndexExcludeHideLine(String filepath, int sheetIndex) throws Exception{
341 359 File file = new File(filepath);
342 360 List<List<Object>> result = new ArrayList<List<Object>>();
... ...