每次用不同的值循环几次

我需要做一个循环,每次都会通过不同的rowno值。 这是代码的一部分:

int rowno = 2; File file = new File("path"); Workbook workbook = Workbook.getWorkbook(file); String value = workbook.getSheet(0).getCell(1, rowno).getContents(); 

接下来的行数将是11,20,29等等…

声明数组,列表或设置你需要检查的行:

 int[] rowsToCheck = { 11, 20, 29 }; 

并重复数组取值:

 for (int i = 0; i < rowsToCheck.length; i++) { String value = workbook.getSheet(0).getCell(1, rowsToCheck[i]).getContents(); System.out.println(value); } 

更新:
如果数字是连续的11 + 9 = 20 + 9 = 29 + 9 ….就像塔里克build议的那样,让循环的计数增加9。

 int numberOfRows = // what you neeed for (int i = 0; i < numberOfRows; i+=9) { String value = workbook.getSheet(0).getCell(1, i).getContents(); System.out.println(value); } 

也许我错过了一些东西,但下面的代码应该这样做:

 int rowno; int lastrow=100; // Correct as needed File file = new File("path"); Workbook workbook = Workbook.getWorkbook(file); for (rowno=2; rowno<lastrow; rowno+=9) { String value = workbook.getSheet(0).getCell(1, rowno).getContents(); } 

你必须得到每个在Excel文件上的行数。 一旦你有工作表,你知道最大的行数,然后迭代和增加9。

 Sheet currentSheet = workbook.getSheetAt(int index); for (int rowno = 2; rowno < currentSheet.getPhysicalNumberOfRows(); rowno = rowno + 9) { String value = currentSheet.getCell(1, rowno).getContents(); } 
 for (int i = 2; i < maxValue; i = i + 9) { }