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与上面的代码这可能会帮助你。