2016-12-07 88 views
1

我使用Java servlet来解析上传的Excel文件,的Apache POI解析和处理空单元格

我得到的文件和输入流,使工作簿,然后我想循环,虽然所有的细胞包括空的,现在这是我在做什么,这个处理空单元格中的数据的中间,但如果有一排完全是空的,然后一排数据失败

for (int i = 0; i < mySheet.getPhysicalNumberOfRows(); i++) { 
    Row row = mySheet.getRow(i); 
    for (int j = 0; j < row.getPhysicalNumberOfCells(); j++) { 
      Cell cell = row.getCell(j); 
    } 
} 

所以这些都是我的行

item item item 
       //this row is empty 
item item item 

这是失败我该如何处理?

感谢您的帮助

+1

不能使用'getFirstRowNum'和'getLastRowNum'(同为列) –

+0

@ScaryWombat帮我,谢谢! – Driice

回答

2

如果行fectching并取回空,那么就没有存储该行的文件中的数据 - 这是完全空白的。

for (int i = 0; i < mySheet.getPhysicalNumberOfRows(); i++) { 
    Row row = mySheet.getRow(i); 
    for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) { 
      Cell cell = row.getCell(c); 
     if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK) 
     ..... 
    } 
} 

和检查POI例如POI Example