2017-07-03 2 views
-1

Bin neu in Java und ich habe eine Herausforderung bei der Validierung der Excel-Datei.Bitte helfen Sie mir.Wie validiert man die Zeichenkette und ihren Wert in Excel durch Java?

Ich möchte validieren, dass 'Hyderabad' ist der Standort Name und '1' ist die Standort-ID von Excel (pls Screenshot unten) durch JAVA .Am fähig, alle Zelle Werte zu lesen.Aber ich möchte überprüfen, ob Standort Name ist Hyderabad oder nicht (Ähnlich, die Standort-ID). Bitte schlagen Sie mich hier vor.

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

if (row.getCell (k) .getStringCellValue(). Equals ("Hyderabad")) sop ("pass") – Murthi

+0

Vielen Dank für Ihre comment.But Ich denke, prüft diese Aussage, wenn die Zeichenfolge Hyderabad existiert in dem gegebenen Blatt oder nicht. Ich wollte den Standortnamen == Hyderabad validiert werden. Hoffe es ist klar. – Rahul

+0

Was gab Ihnen die Idee, dass "gleich" bedeutet "irgendwo enthalten"? –

Antwort

1

if (fileType.equalsIgnoreCase ("Excel")) { Arbeitsmappe 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); 


        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

Vielen Dank für den detaillierten Code. Aber es ist teilweise gelöst. Kann mit dem Standortnamen übereinstimmen. Fehler beim Abgleichen der Standort-ID. Bitte prüfen Sie, ob Sie sie ändern können. – Rahul

+0

können Sie mit contains anstelle von equalsIgnoreCase für Standort-ID versuchen – Murthi

+0

Okay ... Btwn, frage mich immer noch, wer diese Frage abgelehnt hat. :(Hoffe, es ist keine komische Frage. – Rahul

Verwandte Themen