我有一排数组数据,如下所示
JANUARY | DAY1 | ABSENT | MC | DAY2 | ABSENT| MC | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |
FEBRUARY| DAY1 | ACTIVE | | DAY2 | ABSENT| MC | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |
MARCH | DAY1 | ABSENT | MC | DAY2 | ACTIVE| - | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |
或者列成这样,
[JANUARY,DAY1,ABSENT,MC,DAY2,ABSENT,MC,DAY3,ACTIVE,-,DAY4,ACTIVE,]
[FEBRUARY,DAY1,ACTIVE ,-,DAY2,ABSENT,MC,DAY3,ACTIVE,-,DAY4,ACTIVE,]
[MARCH,DAY1,ABSENT,MC,DAY2,ACTIVE,-,DAY3,ACTIVE,-,DAY4,ACTIVE,-]
所以,除了存储所有的数据,我想在这里实现的是,我只想在列DAY1、DAY2、DAY3、DAY4之后存储数据,如下所示:
[ABSENT,MC,ABSENT,MC,ACTIVE,-,ACTIVE,-]
[ACTIVE,-,ABSENT,MC,ACTIVE,-,ACTIVE,-]
[ABSENT,MC,ABSENT,MC,ACTIVE,-,ACTIVE,]
我的当前代码如下所示,用于循环:
DataFormatter formatter = new DataFormatter();
String val = null;
for (int rowNum = 1; rowNum < sheet.getLastRowNum(); rowNum++) {
Row r = sheet.getRow(rowNum);
ArrayList<String> al = new ArrayList<String>();
for (int i = 2; i+2 < r.getLastCellNum() + 1; i = i + 3) {
Cell cell = r.getCell(i);
val = formatter.formatCellValue(cell);
al.add(val);
}
System.out.println(al);
}
但这只会导致缺乏的第一个因素。它仍然缺少它的下一个元素。请帮帮我。
发布于 2018-10-28 08:38:48
您可以在for循环中添加第一个元素和第二个元素。
DataFormatter formatter = new DataFormatter();
String val = null;
for (int rowNum = 1; rowNum < sheet.getLastRowNum(); rowNum++) {
Row r = sheet.getRow(rowNum);
ArrayList<String> al = new ArrayList<String>();
for (int i = 2; i+2 < r.getLastCellNum() + 1; i = i + 3) {
Cell cell = r.getCell(i);
val = formatter.formatCellValue(cell);
al.add(val);
cell = r.getCell(i+1);
val = formatter.formatCellValue(cell);
al.add(val);
}
System.out.println(al);
}
发布于 2018-10-28 08:47:50
如果您想忽略第一列和第一天列
for (int i = 1; i < r.getLastCellNum(); i++) {
Cell cell = r.getCell(i);
String val = formatter.formatCellValue(cell);
if (!val.startsWith("DAY")) {
al.add(val);
}
}
https://stackoverflow.com/questions/53029662
复制相似问题