从文件夹中读取特定文件时,我无法获取特定文件的lastRowNum()。 lastRowNum()方法在合并文件夹中的所有文件后返回最后一行。我需要一个特定的文件。
以下是使用的代码
File[] listOfFiles = folder.listFiles();
for (File file : listOfFiles)
{
if (file.isFile()&&(file.getName().substring(file.getName().lastIndexOf('.')+1).equals("xlsx")))
{
Workbook workbook =WorkbookFactory.create(file.getAbsoluteFile());
Sheet sheet = workbook.getSheetAt(0);
int j = sheet.getLastRowNum();
System.out.println(j);
}
}
我输出为340,这是文件夹中所有文件中所有值的总和。 但是对于第一张纸应该是40.如在第一张纸中它只包含40行
答案 0 :(得分:0)
我在循环中使用了break语句,当rowIterator.next()方法返回null时。这样一张表结束了,我再次从其他表开始。 我没有计算lastRowNum()值来遍历行。 不知何故,这让我可以阅读所有文件。
Workbook workbook =WorkbookFactory.create(file.getAbsoluteFile());
Sheet sheet = workbook.getSheet("XYZ");
Iterator<Row> rowIterator = sheet.iterator();
rowIterator.next(); //Skipping headings
while (rowIterator.hasNext())
{
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
SheetObject obj1= new SheetObject();
Cell cell = cellIterator.next();
if(cell.getCellType() == Cell.CELL_TYPE_BLANK) {
break;
}
obj1.setValue1(val);
String temp = cell.getStringCellValue();
obj1.setModule(temp); }
但是,问题的解决方案尚待解决。