2010-10-24 6 views
1

J'ai codé quelque chose qui retournerait le contenu d'une feuille Excel comme table de hachage. Le code estBesoin d'aide avec hashTable

public Object[][] validDataProviderScenarioOne() { 
     excelWorker excel = new excelWorker(); 
     String pathValue = excelWorker.LocatingXls("Data.xls"); 
     Hashtable<String, String>[] hashDrv =(Hashtable<String, String>[]) excel.contentReading(pathValue, "xxxxx_Login"); 
     Object[][] obj = new Object[hashDrv.length][1]; 
     for(int i=0; i<hashDrv.length; i++) { 
     obj[i][0] = hashDrv[i]; 
     } 
     return obj; 
    } 

maintenant, s'il y a 3 lignes dans une feuille Excel, il y aura 3 ensembles de données. maintenant ce que je veux est, je veux ajouter des données dans la table de hachage pour chaque entrée dans le tableau Hashtable

Pour exemple: le contenu de la feuille

utilisateur Aucun utilisateur Mot de passe

1 xxxxxx yyyyy 
2 aaaaaa bbbbb 
3 cccccc ddddd 

maintenant dans le hashTable je voudrais ajouter la clé comme navigateur et la valeur que * iexplore, * mozilla, * safari, mais je ne veux pas ajouter cela dans la feuille Excel.

donc mon Hashtable ressemblera

userNo=1,userName=xxxxx,password=yyyyy,browser=*iexplore 
userNo=1,userName=xxxxx,password=yyyyy,browser=*mozilla 
userNo=1,userName=xxxxx,password=yyyyy,browser=*safari 
userNo=2,userName=aaaaaa,password=bbbbb,browser=*iexplore 
userNo=2,userName=aaaaaa,password=bbbbb,browser=*mozilla 
userNo=2,userName=aaaaaa,password=bbbbb,browser=*safari 
userNo=3,userName=cccccc,password=ddddd,browser=*iexplore 
userNo=3,userName=cccccc,password=ddddd,browser=*mozilla 
userNo=3,userName=cccccc,password=ddddd,browser=*safari 

aide plz, merci à l'avance

+1

créer une classe contenant tous ces champs –

Répondre

1

La meilleure chose que vous pouvez faire est de créer une classe qui contient les champs que vous souhaitez, par exemple

class User { 
    private int id; 
    private String username; 
    ... 
} 

et retourner un tableau (ou une collection) de ceux-ci. Par ailleurs, pourquoi attribuez-vous et renvoyez un tableau bidimensionnel lorsque la deuxième dimension est codée en dur pour un élément? Pourquoi ne pas simplement retourner un tableau unidimensionnel?

+0

Son parce que j'utilise TestNG Dataprovider option il n'accepte que le tableau bidimensionnel – Appunu