2016-06-11 124 views
-2

我从excel中获取数据。并存储在列表中。然后 我想在List 我的问题在主要方法第一个循环它需要一个列表详细信息中的单个元素。在第二个循环中,我想要列表 中的一个元素作为示例[OS1, 10.23.14.25, 12.0, wradadasda]我想要OS1如何获取它。 在我的代码second loop也显示整个数组。获取列表中的单个元素

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

主要方法

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

     } 

出把图像 -

Excel文件数据 -

+2

你张贴了大量的代码和解释,但我真的不要得到你正在寻找的东西。你能准确地发布,给定的输入,你期望它打印出来吗?与此相反,你的代码产生了什么。 – thst

+0

主要方法中的问题。在第一个循环中,它需要一个List细节。在第二个循环中,我需要该List的一个元素。例如在第一个循环中,需要[OS1,10.2.14.14.25,12.0,wradadasda]第二个循环我想要OS1 – KH19

回答

1

你的问题不是很清楚我假设,并回答你的问题。

要添加列表,其他列表中,所以当你打电话

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

因此,要访问元素试试这个

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.