[英]how to iterate first columns then rows to read excel sheet in java
我想閱讀一個Excel工作表,所以我想閱讀我的第一列數據,然后依次遍歷所有行和第二列,以便進行操作。
我已經嘗試過先使用行迭代,然后再使用coloumn
Iterator < Row > rowIterator = sheetName.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator < Cell > cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
}
}
如果我理解您的問題正確,那么您將嘗試首先遍歷列,然后遍歷row。 這就是您可能想做的。 希望能幫助到你 :
Sheet sheet = workbook.getSheetAt(0);
for(int i=0; i<sheet.getRow(sheet.getTopRow()).getLastCellNum(); i++){
Iterator<Row> rowIterator=sheet.rowIterator();
while(rowIterator.hasNext()){
System.out.println(rowIterator.next().getCell(i)); //do what you want
}
}
如果我理解這個問題,則想從excel逐列讀取數據。 即讀取整個Column1,然后移至Column2,依此類推。
如果這是您的要求,請在Java中找到代碼片段。
// Getting List of Column Headers in the sheet and saving the same to a list
int masterSheetColumnIndex = sheet.getColumns();
List<String> ExpectedColumns = new ArrayList<String>();
for (int x = 0; x < masterSheetColumnIndex; x++) {
Cell celll = sheet.getCell(x, 0);
String d = celll.getContents();
System.out.println("d : "+d);
ExpectedColumns.add(d);
}
columnDataValues = new LinkedHashMap<String, List<String>>();
List<String> column1 = new ArrayList<String>();
// read values from excel sheet for each column
for (int j = 0; j < masterSheetColumnIndex; j++) {
column1 = new ArrayList<String>();
for (int i = 1; i < sheet.getRows()-7; i++) {
Cell cell = sheet.getCell(j, i);
column1.add(cell.getContents());
System.out.println("cell.getContents() : "+cell.getContents());
}
columnDataValues.put(ExpectedColumns.get(j), column1);
}
如果以上代碼中有任何查詢,請還原。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.