Charger une ListView avec fichier XLS
Bonjour,
Je suis sous VB2008. J'ai une ListView que je dois charger à l'aide d'un fichier XLS.
Le nombre de colonnes est déterminé et fixe mais pas le nombre de lignes :ccool:
Je n'arrive pas à charger le ficher autrement qu'en nommant une à une les cellules à l'aide de RangeCeci est tout sauf top bien sûr et je voudrais votre aide pour savoir comment faire.
Merci.
charger une listeview d'une feuille xls
il existe toujours dans excel une resource cache voyant la:
1/ derniere colonne vide de la feuille sur la ligne 1
Code:
1 2 3 4 5
| Dim rangeDepart As Excel.Range = Nothing
Dim rngVide As Excel.Range = Nothing 'range vide(derniere cellule vide)
rngDepart = FeuilleCourante.Cells(1,1).EntireRow 'selectionne toute la ligne à scanner
rngVide== rngDepart.SpecialCells(Excel.XlCellType.xlCellTypeBlanks, Excel.XlSpecialCellsValue.xlTextValues) ''derniere cellule vide de la ligne. |
-rngDepart.SpecialCells permet de retrouver le dernier range vide(cellule vide)
sur une ligne scanne
apres tu fais rngVide.Column qui donne le numero colonne vide.
Code:
dim numColVide as integer=rngVide.Column
2/derniere ligne vide de la feuille sur la colonne 1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Dim rangeDepart As Excel.Range = Nothing
Dim rngVide As Excel.Range = Nothing 'range vide(derniere cellule vide)
rngDepart = FeuilleCourante.Cells(1,1).EntireColumn 'selectionne toute la colonne à scanner
rngVide== rngDepart.SpecialCells(Excel.XlCellType.xlCellTypeBlanks, Excel.XlSpecialCellsValue.xlTextValues) 'derniere cellule vide de la colonne.
apres tu fais rngVide.Row qui donne le numero ligne vide
dim numLigVide as integer=rngVide.Row
Dim itemx As ListViewItem
dim rngTravail as Excel.Range=Nothing
for i as integer =1 to numLigVide-1
itemx=new ListViewItem("LingeNum" & i)
for j as integer=1 to numColVide-1
rngTravail=Excel.Cells(i,j)
itemx.SubItems.Add(rngTravail.value.toString)
next
next |
si tu as remarque la methode traite tous les cas:
- nombre de colonnes n'est pas fixe
- nombre de lignes n'est pas fixe
le tout est de lui donner la cellule de depart de tes donnees ,dans l'exemple c'est (1,1) mais ca pourrait etre une cellule.