簡體   English   中英

每次循環多次,使用不同的值

[英]Loop several times with different values each time

我需要創建一個循環,每次使用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 ....正如Tarik建議的那樣,只需使循環計數器增加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) {

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM