2017-07-03 119 views
-1

我是Java新手,在驗證excel文件方面有挑戰。請幫助我。如何驗證字符串,並通過Java在Excel中的值?

我想驗證'Hyderabad'是位置名稱,'1'是來自excel的位置ID(請在下面截圖)通過JAVA.Am能夠讀取所有單元格值。但我想驗證是否位置名字是海德拉巴或不是(同樣,位置ID)。請在這裏建議我。

enter image description here

if (fileType.equalsIgnoreCase("Excel")) { 
      Workbook wb = new XSSFWorkbook(f); 

      for (int i = 0; i < wb.getNumberOfSheets(); i++) { 

       System.out.println("Sheet name: " + wb.getSheetName(i)); 
       Sheet sh=wb.getSheetAt(i); 

       if (wb.getSheetName(i).matches("A|B|C|D")) 
       { 
        int rowCount = sh.getLastRowNum() - sh.getFirstRowNum(); 

        for (int j = 0; j < rowCount + 1; j++) { 

         Row row = sh.getRow(j); 

         for (int k = 0; k < row.getLastCellNum(); k++) { 

          System.out.print(row.getCell(k).getStringCellValue() + "|| "); 

         } 
       } 
      } 

     } 
+1

如果(row.getCell(K).getStringCellValue()。等於( 「海得拉巴」))SOP( 「通行證」) – Murthi

+0

感謝您的comment.But我認爲,這種說法將檢查字符串海得拉巴存在於給定的表單中還是不存在。我想要位置名稱== Hyderabad進行驗證。希望它是明確的。 – Rahul

+0

是什麼讓你認爲「等於」意味着「包含某處」? –

回答

1

如果(fileType.equalsIgnoreCase( 「EXCEL」)){ 簿WB =新XSSFWorkbook(F);

 for (int i = 0; i < wb.getNumberOfSheets(); i++) { 

      System.out.println("Sheet name: " + wb.getSheetName(i)); 
      Sheet sh=wb.getSheetAt(i); 

      if (wb.getSheetName(i).matches("A|B|C|D")) 
      { 
       int rowCount = sh.getLastRowNum() - sh.getFirstRowNum(); 

       for (int j = 0; j < rowCount + 1; j++) { 

        Row row = sh.getRow(j); 


        if(row.getCell(0).getStringCellValue().contains("Location Name")){ 
        { 
         if(row.getCell(1).getStringCellValue().equalsIgnoreCase("Hydrabad")){ 
          System.out.print("Location name is matches with Hydrabad"); 
         } 
         else{ 
          System.out.print("Location name isn't matches with Hydrabad"); 
         } 
        } 

        if(row.getCell(0).getStringCellValue().contains("Location ID")){ 
        { 
         if(row.getCell(1).getStringCellValue().equalsIgnoreCase("1")){ 
          System.out.print("Location id matches"); 
         } 
         else{ 
          System.out.print("Location id mismatches"); 
         } 
        } 
      } 

    } 
+0

感謝您提供詳細的代碼。但部分解決。能夠與地點名稱匹配。無法匹配位置ID。請查看您是否可以修改它。 – Rahul

+0

你可以嘗試使用包含而不是equalsIgnoreCase作爲位置ID – Murthi

+0

好的... Btwn,我還在想,誰低估了這個問題。 :(希望這不是一個奇怪的問題。 – Rahul