如何从java中的文件列表中获取特定文件的lastRowNum()
从文件夹中读取特定文件时,无法获取该文件的lastRowNum()。 方法返回合并文件夹中所有文件后的最后一行。我需要一个特定的文件 下面是使用的代码如何从java中的文件列表中获取特定文件的lastRowNum(),java,apache-poi,Java,Apache Poi,从文件夹中读取特定文件时,无法获取该文件的lastRowNum()。 方法返回合并文件夹中所有文件后的最后一行。我需要一个特定的文件 下面是使用的代码 File[] listOfFiles = folder.listFiles(); for (File file : listOfFiles) { if (file.isFile()&&(file.getName().substring(file.getName().lastIndexOf('.')+1).equals("xlsx
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行当rowIterator.next()方法返回null时,我在循环中使用了一个break语句。这样一来,一个工作表就结束了,我又重新开始另一个工作表。 我没有计算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); }
Workbook Workbook=WorkbookFactory.create(file.getAbsoluteFile());
工作表=工作簿.getSheet(“XYZ”);
迭代器rowIterator=sheet.Iterator();
roweiterator.next()//跳过标题
while(roweiterator.hasNext())
{
行=行迭代器。下一步();
迭代器cellIterator=row.cellIterator();
SheetObject obj1=新的SheetObject();
Cell=cellIterator.next();
if(cell.getCellType()==cell.cell\u TYPE\u BLANK){
打破
}
obj1.setValue1(val);
String temp=cell.getStringCellValue();
obj1.setModule(临时);}
但是,问题的解决仍然悬而未决。第一份文件的第一页还是最后一份文件的第一页,你会得到340英镑?或者是最终打印340的增量系列?是打印340的增量系列。它取文件夹中的所有文件,取所有文件的第一页&所有行的总和为340。