gpt4 book ai didi

java - Excel Java - 将一行单元格值传递到 ArrayList

转载 作者:行者123 更新时间:2023-12-01 09:57:05 25 4
gpt4 key购买 nike

我想知道如何将整行的单元格值存储到 ArrayList

例如。表_字母表

第 1 列 |第 2 栏 |第 3 栏 |第4栏

阿尔法|测试版 | Gamma |达美航空

单声道 |聚 |太拉 |前

所以,在这里我想获取第一行 {Alpha, Beta, Gamma, Delta} 并将整行存储到 ArrayList 中。

我尝试使用 ArrayList 来存储此单元格值(使用 Apache POI!)

ArrayList<String> level1 = new ArrayList<String>();

然后将该ArrayList存储到可以包含实际arrayList的parent_ArrayList

ArrayList<ArrayList<String>> parent_list = new ArrayList<ArrayList<String>>();

但我没有解决这个问题。

for(int i=0;i<noOfRows;i++){

Row row = sheet.getRow(i);
for(int j=0; j<lastCell;j++){
Cell cell = row.getCell(j);
switch (cell.getCellType()) {

case Cell.CELL_TYPE_STRING:
level1.add(cell.getStringCellValue());
break;

case Cell.CELL_TYPE_NUMERIC:
cell.setCellType(Cell.CELL_TYPE_STRING);
level1.add(cell.getStringCellValue());
break;
}


parent_list.add(level1);
}
}

请建议我解决这个问题的正确方法。

谢谢

最佳答案

for(int i=0;i<noOfRows;i++){
Row row = sheet.getRow(i);
StringBuilder sb = new StringBuilder();
for(int j=0; j<lastCell;j++){
Cell cell = row.getCell(j);
switch (cell.getCellType()) {

case Cell.CELL_TYPE_STRING:
innerMembers.add(cell.getStringCellValue());
sb.append(cell.getStringCellValue()+",");
break;

case Cell.CELL_TYPE_NUMERIC:
cell.setCellType(Cell.CELL_TYPE_STRING);
innerMembers.add(cell.getStringCellValue());
sb.append(cell.getStringCellValue()+",");
break;
}


rowList.add(innerMembers);
}
level1.add(sb.toString());
parent_list.add(level1);
}

由于您需要将单行存储在arraylist中,并用逗号分隔,因此您需要创建一个StringBuilder > 完成后首先将单元格值附加到其中。将stringbuilder添加到arraylist,然后将arraylist添加到parentarraylist。尝试使用上面的代码,这可能会对您有所帮助。

关于java - Excel Java - 将一行单元格值传递到 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37115029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com