2012-05-11 39 views
1

如何檢查excel表單中的CELL是否爲空且內部沒有任何內容?我從左向右遍歷一排,並且在遇到空單元時想停下來。我正在使用使用JExcel API檢查excel中的空單元格

cell.getType()==CellType.EMPTY 

但它似乎沒有工作。此外,

if(cell.getContents() == "") is also not working. 

檢查單元格是否爲空單元格的條件是什麼?

由於 阿布舍克巴克小號

+0

我不知道JExcel API,但你要測試的是'cell.getContents()。等於( 「」))'。 – Alex

+0

也試過了。不幸的是沒有運氣 –

+0

我只是暗示在Java中,這不是你比較字符串的方式。 – Alex

回答

2
List cellDataList = new ArrayList(); 
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream); 

         XSSFSheet sheet = workbook.getSheetAt(0); 

         Iterator rows = sheet.rowIterator(); 

         int number=sheet.getLastRowNum(); 


         int lineNumber = 0; 

         while (rows.hasNext()) 

         { 
          XSSFRow row = ((XSSFRow) rows.next()); 
          lineNumber++; 
          if(lineNumber==1){continue;} 




          Iterator cells = row.cellIterator(); 
          List cellTempList = new ArrayList();  
          int current = 0, next =1; 
          while(cells.hasNext()) 

          { 

           XSSFCell cell = (XSSFCell) cells.next(); 


           current = cell.getColumnIndex(); 


           if(current<next){ 

           } 
           else{ 

            int loop = current-next; 

            for(int k=0;k<loop+1;k++){ 

             cellTempList.add(null); 
             next = next + 1; 
            } 
           } 
           switch (cell.getCellType()) { 
              case Cell.CELL_TYPE_STRING: 
               System.out.println(cell.getRichStringCellValue().getString()); 
               cellTempList.add(cell.getRichStringCellValue().getString()); 
               break; 
              case Cell.CELL_TYPE_NUMERIC:              
                System.out.println(cell.getNumericCellValue()); 
                cellTempList.add(String.valueOf(cell.getNumericCellValue()));             
               break; 
              case Cell.CELL_TYPE_BOOLEAN: 
               System.out.println(cell.getBooleanCellValue()); 
               break; 
              case Cell.CELL_TYPE_FORMULA: 
               System.out.println(cell.getCellFormula()); 
               cellTempList.add(cell.getCellFormula()); 
               break;            

              default: 
               System.out.println("Inside default"); 
           } 
           next = next + 1; 

          } 
          cellDataList.add(cellTempList); 
         } 
0

從下面的鏈接JExcel API,檢查cell.isEmpty()方法來測試。

+0

當我點擊Eclipse中的可用方法時,我根本沒有得到這個方法! –

+0

哎呀,對不起,我正在使用JXL API。 –

1
String contents = cell.getContents(); 
if (contents != null && contents.length() != 0)