我编写了一个片段来读取Excel值并在Java中进行操作。如果任何行的最后一个单元格为空,则不会被读取。
while (rows.hasNext()) {
Map<Integer, Object> columnDataMap = new HashMap<Integer, Object>();
row = (XSSFRow) rows.next();
for (int i = 0; i < row.getLastCellNum(); i++) {
cell = row.getCell(i, Row.CREATE_NULL_AS_BLANK);
short fontIndex = cell.getCellStyle().getFontIndex();
Font f = wb.getFontAt(fontIndex);
if(cell.getCellType()==Cell.CELL_TYPE_BLANK){
columnDataMap.put(cell.getColumnIndex(), WFMTConstants.EMPTY_STRING);
}
if (!(f.getBoldweight() == Font.BOLDWEIGHT_BOLD) ){
columnDataMap.put(cell.getColumnIndex(), cell.toString());
}
}
rowDataMap.put(row.getRowNum(), columnDataMap);
}
如果它是空的,如何确保读取最后一个单元格?如果所有行通常具有7列并且例如。第3行有6列,第7行是空的,第7行也应该读为null但是对于那行row.getLastCellNum()返回6。