sheet.getLastRowNum()函数在Apache POI中给出无效计数3.9
我使用Apache POI 3.9进行xls和xlsx文件处理。sheet.getLastRowNum()函数在Apache POI中给出无效计数3.9
根据逻辑,我想遍历每一行,并希望收集数据进一步处理。为此,我使用sheet.getLastRowNum()来检索xls表中的行数。
但似乎sheet.getLastRowNum()给出错误的次数,如果记录数超过10
如果行的总数是10。否则它给出的结果通过一个扣除它工作正常。 即即使在工作表中有15行,它也会给出14作为最后一个行号。
任何人都可以建议我,如何解决这个问题?
下面是我用来收集数据的代码...
public static List<LinkedList<String>> populateExcelSheetContentWithHeader(Sheet sheet,int columnsCount,int rowsCount) throws Exception{ Row row = null;
List<LinkedList<String>> excelFileRecordsList = new LinkedList<LinkedList<String>>();
int emptyColCount = 0;
String freeTextData = null;
LinkedList<String> excelFileDataList =null;
int actualRows = sheet.getLastRowNum();
if (actualRows < rowsCount) {
rowsCount = actualRows;
}
///ITERATE OVER EACH ROW AND POPULATE THE DATA
for(int index=0;index<rowsCount;index++){
row = sheet.getRow(index);
if(row!=null){
emptyColCount = 0;
excelFileDataList =new LinkedList<String>();
for(int colIndex=0;colIndex<columnsCount;colIndex++){
freeTextData = "";
if(isEmptyCell(row.getCell(colIndex))){
emptyColCount++;
}else{
freeTextData = getCellValue(row.getCell(colIndex),false);
}
//ADD TEXT DETILS TO THE LIST
excelFileDataList.add(freeTextData);
}
//CHECK FOR END OF FILE
if(emptyColCount != columnsCount){
excelFileRecordsList.add(excelFileDataList);
}else{
break;
}
}
}
return excelFileRecordsList;
}
任何建议表示赞赏。
回答:
很可能你是从CSV转换或者你做任何修改(复制或粘贴)您的XLS里面的?当我像我提到的那样进行一些更改时,我的行为也一样。要解决它,我不得不再次复制原件。对不起,没有提供真正的解决方案,我只是说发生了什么。 也许有帮助
以上是 sheet.getLastRowNum()函数在Apache POI中给出无效计数3.9 的全部内容, 来源链接: utcz.com/qa/258960.html