2016-06-11 21 views
-2

Ich nahm Daten von Excel. und in den Listen gespeichert. dann Ich möchte ein einzelnes Element in der List mein Problem in der Hauptmethode erste Schleife erhalten Sie eine Liste Details. In der zweiten Schleife möchte ich ein Element dieser Liste für Beispiele [OS1, 10.23.14.25, 12.0, wradadasda] Ich möchte OS1 Wie kann ich es bekommen. In meinem Code second loop auch ganze Array anzeigen.Holen Sie sich ein einzelnes Element in der Liste

public static List readDataFromExcel() throws IOException{ 
     String filename = "path"; 

     List sheetData = new ArrayList(); 

     FileInputStream fis = null; 
     try { 

      fis = new FileInputStream(filename); 

      XSSFWorkbook workbook = new XSSFWorkbook(fis); 
      XSSFSheet sheet = workbook.getSheetAt(0); 

      Iterator rows = sheet.rowIterator(); 
      while (rows.hasNext()) { 
       XSSFRow row = (XSSFRow) rows.next(); 
       Iterator cells = row.cellIterator(); 

       List data = new ArrayList(); 
       while (cells.hasNext()) { 
        XSSFCell cell = (XSSFCell) cells.next(); 
        String value=" "; 
        switch (cell.getCellType()) 
        { 
         case Cell.CELL_TYPE_NUMERIC: 
          value = BigDecimal.valueOf(cell.getNumericCellValue()).toPlainString(); 
          data.add(value); 
          break; 
         case Cell.CELL_TYPE_STRING: 
          value=cell.getStringCellValue(); 
          data.add(value); 
          break; 
         case Cell.CELL_TYPE_BLANK: 
          value = " ".toString(); 
          data.add(value); 
          break; 
         case Cell.CELL_TYPE_BOOLEAN: 
          value = Boolean.valueOf(cell.getBooleanCellValue()).toString(); 
          data.add(value); 
          break; 
        } 

       } 
       sheetData.add(data); 
       fis.close(); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    return sheetData; 
    } 

Haupt Methoden

public static void main(String[]args) throws IOException{ 

     List getdatafromexcel = readDataFromExcel(); 
     List oneserverdetailsList =null; 
     for(int i =0;i<getdatafromexcel.size();i++){ 
      oneserverdetailsList = new ArrayList(); 
      oneserverdetailsList.add(getdatafromexcel.get(i)); 
      for(int j=0;j<oneserverdetailsList.size();j++){ 
       System.out.println(oneserverdetailsList.get(0)); 
      } 

     } 

Out kontaktieren Bild -

Excel-Datei Daten -

+2

Sie eine Menge Code und eine Erklärung geschrieben, aber ich wirklich Versteh nicht, wonach du suchst. Können Sie bei einer bestimmten Eingabe exakt das ausgeben, was Sie erwarten? Und im Gegensatz dazu, was dein Code produziert. – thst

+0

Problem in der Hauptmethode. In der ersten Schleife benötigt man eine Listendetails. In der zweiten Schleife möchte ich ein Element dieser Liste. zum Beispiel in der ersten Schleife dauert es [OS1, 10.23.14.25, 12.0, wradadasda] zweite Schleife ich will OS1 – KH19

Antwort

1

Ihre Frage ist nicht ganz klar Ich gehe davon aus und Ihre Frage zu beantworten.

Sie fügen eine Liste auf andere Liste, also wenn Sie

nennen
getdatafromexcel.get(i) // This will return a list 

Also, das Element zuzugreifen versuchen, diese

oneserverdetailsList.get(0).get(0) //To access OS1 assuming it is in first index. Explaination : First get will return you a list and second get will return you an element. 
Verwandte Themen