簡體   English   中英

使用JAVA poi從excel文件中讀取並忽略空單元格

[英]Reading from excel files using JAVA poi and ignoring empty cells

我試圖從包含空單元格的 Excel 工作表中讀取數據,請考慮以下代碼:

File src = new File(path to your file); 
FileInputStream fis = new FileInputStream(src);
XSSFWorkbook wb = new XSSFWorkbook(fis);
        
XSSFSheet sheet1 = wb.getSheet("Sheet1");
int rowCount = sheet1.getLastRowNum();
System.out.println("total number of rows is: " + rowCount);
for(int i = 1; i < rowCount; i++) {
    //getcell returns row num and starts from 1
    //Also my sheet column contains data in numeric form
    int data = (int) sheet1.getRow(i).getCell(1).getNumericCellValue();

    System.out.println(data);
}

但是,我的代碼也會讀取空單元格並將值顯示為 0(單元格具有數值)。 如何使我的腳本只讀單元格填充並顯示它們,同時忽略空的單元格?

先感謝您

只需使用 if 條件更新 for 循環,該條件將檢查從 Cell 中檢索到的值。 PFB 更新的 for 循環。

對於 Apache POI 4.x 版,您可以嘗試以下-

    for(int i = 1; i < rowCount; i++) {
       //getcell returns row num and starts from 1
       //Also my sheet column contains data in numeric form
       Cell cell  = sheet1.getRow(i).getCell(1);
       int data = (int) sheet1.getRow(i).getCell(1).getNumericCellValue();
       if(c.getCellType() == CellType.Blank)
       {
         continue;
       }
        else{
       System.out.println(data);
            }
    }
    
    
    
    

對於 Apache POI 3.x 版,您可以嘗試以下-

    for(int i = 1; i < rowCount; i++) {
       //getcell returns row num and starts from 1
       //Also my sheet column contains data in numeric form
       Cell cell  = sheet1.getRow(i).getCell(1);
       int data = (int) sheet1.getRow(i).getCell(1).getNumericCellValue();
       if(cell.getCellType() == Cell.CELL_TYPE_BLANK)
       {
         continue;
       }
        else{
       System.out.println(data);
            }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM