Excel Java – 将一行单元格值传递给ArraList

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

防爆。 Table_Alphabet

Col1 | Col2 | Col3 | COL4

阿尔法| Beta | 伽玛| 三angular洲

mono | poly | tera | EXA

所以,在这里我想取第一行{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); } } 

请build议我采取适当的方法来克服这一点。

谢谢

 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); } 

由于您需要在由commas分隔的commas存储single row ,因此您需要创build一个StringBuilder并在完成后将单元格值附加到它。 将arraylist to the parentarraylist添加stringbuilder to arraylist ,然后将arraylist to the parentarraylist添加arraylist to the parentarraylist .try与上面的代码这可能会帮助你。