簡體   English   中英

如何迭代第一列然后行以讀取Java中的Excel工作表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM