2016-03-18 31 views
0

Ben almadım --- Listedeki öğeleri seçmem gerekiyor E ticaret uygulaması arama kutusu. Her Satırı Yazdırmak zorundadır Sütun veya herhangi bir sayıda satır ve sütunda, Excel'de sıralanmış olarakSorted Form- (JXL kullanıyorum) satırında/satırında excel'e nasıl veri yazılır, kullanılmış Collection.sort (liste) ama çalışmıyor

Arama'da öğelerin adlarını bulabilir ve bunları eclipse konsolunda yazdırabilirim. Excel'de sıralı bir şekilde birbiri üzerine yazdırmak mantığı ne olabilir, hepsini bir dizide ilk önce kaydetmem gerekiyor mu yoksa başka bir şey.

Bu Kodda, - E ticaret Uygulamasındaki Arama kutusundan öğeler ve bunları Excel'de yazdırıyorum.

arama öğelerin herhangi rasgele sayı ı Aşağıdaki kod Sütun (Excel) tüm arama listesi öğeleri yazdırmak için kullanılan

sıralı Formunda Excel'de basılmış olur mantığı Need, ne değişim yapılabilir Ben cevap var

// picking list items//  
List <WebElement> listItems = driver.findElements(By.xpath(".//form[@class='_1WMLwI']//ul/li")); 
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS); 
    String[] text = new String[10]; 
arrylngth=listItems.size(); 
System.out.println("Length of arrylngth" + arrylngth); 
for (int col = 0; col < arrylngth; col++) 
{ text[col]=listItems.get(col).getText(); 
System.out.println("Original List "+"         "+ text[col]); 
// insert data into Excel sheet 
for (int row = 0; row <1 ; row++) { 
// create an empty array list with an initial capacity 
List<String> arrlist = new ArrayList<String>(); 
// use add() method to add elements in the list 
       arrlist.add(text[col]); 
       Collections.sort(arrlist); 
       System.out.println("sorted Array "+" "+ arrlist); 
for(String counter: arrlist){ 
System.out.println("After Sorting:"+""+ counter);} 
     Label label1 = new Label(row,col,text[col]); 

      try { 
       shSheet.addCell(label1); 
      } catch (RowsExceededException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (WriteException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
+0

Eğer bunları System.out.println() aracılığıyla konsola yazıyorsanız, neden bunları [POI] (https://poi.apache.org/) kullanarak Excel'e doğrudan yazamıyorsunuz? – MikeJRamsey56

+0

Soruyu güncelledim, lütfen gözden geçirin .. Excel'de sıralı bir şekilde yazdırmak zorundayım. collection.Sort (List) çalıştım ama işe yaramadı. Tüm excel içinde yazdırmak için ama sıralı bir şekilde yazdırmak için yaptım. –

+0

collection.sort (List), dize türü için değil int tür listesi için çalışır. Arama öğelerini sıralamak için arıyorsunuz, bu bir sayı mı yoksa bir isim mi? –

cevap

0

sıralanmış sırayla bunları yazdırmak için: 1. Adım: Liste Web Elements almaya İhtiyacı -

List <WebElement> listItems =  driver.findElements(By.xpath(".//form[@class='_1WMLwI']//ul/li")); 

2. Adım: i liste elemanları adını saklayabilen dize listesi oluşturmanız (collection.sort olarak() listeyi acı uygulanan)

List<String> al = new ArrayList<String>(); 

Adım 3: Döngü Dize List

veri eklemek için başvurusu
for (int i = 0; i <listItems.size(); i++) 
    { 

    al.add(listItems.get(i).getText()); 
    System.out.println("Unsorted list " + al); 

    } 

adım 4: dize listesine Collection.sort() uygulayın, bu Liste içeriği sıralama olacaktır

Collections.sort(al); 

adım 5: Şimdi Konsol \ sıralanır listesini yazdırmak için ihtiyaç vardır

for (String list:al) 
    { 
    System.out.println("sorted list"+ "   " + al); 
    } 

biz sıralı dize listesi kullanılarak JXL veya POI kullanarak Excel'e sıralama listesini yazmak için artık kolay bir görev ile yapılır olarak, Excel kodu yazın.