我有一个arraylist整数,其中包含这样的行数:
[2, 9, 16, 23, 30, 37, 44, 51, 58, 65, 72, 79]
现在,我想基于数组列表中的数字在特定行上设置颜色,如下所示:
for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
for (int p = SA.get(0); p < SA.size() + 1; p = SA.get(p)) {
XSSFRow SATURDAY = sheet.getRow(p);
for (int i = 0; i < 4; i++) {
if (SATURDAY.getCell(i) != null) {
SATURDAY.getCell(i).setCellStyle(greycolor);
} else {
Cell cell1 = SATURDAY.createCell(i);
cell1.setCellStyle(greycolor);
}
}
}
}
问题是,当我运行类文件时,它仅设置第2行和第16行的颜色。其余行不受影响。我不知道如何循环数组列表的增量。帮帮我
答案 0 :(得分:1)
您的迭代不正确。
您将p
初始化为SA.get(0)
的{{1}}。然后,将其更改为2
的{{1}}(即SA.get(p)
)。然后从SA.get(2)
开始退出循环。
尝试:
16
或
16 > SA.size() + 1