|
| Import n'importe quelle fichier excel dans une table ? |
| Débuté par devwds, 27 mai 2015 23:17 - 4 réponses |
| |
| | | |
|
| |
| Posté le 27 mai 2015 - 23:17 |
Bonjour,
J'ai inséré un sélecteur de fichier et un bouton pour importer la structure avec les données du fichier excel mon problème c'est d’avoir un code générale quelque soit le nombre des colonnes du fichier excel , actuellement je l'avais fait avec l'instruction selon nombre de colonne
TableSupprimeTout(TBL_EXCEL)
res est entier = xlsOuvre(SAI_FIC)
nbrc est un entier = TBL_EXCEL..NombreColonne
SI nbrc > 1 ALORS POUR c = 2 _A_ nbrc ChampSupprime("Colonne"+c)
FIN FIN
POUR c = 2 _A_ xlsNbColonne(res)
ChampClone(Colonne1,"Colonne"+c)
{"Colonne"+c,indChamp}..Libellé = "Colonne"+c
FIN
POUR c = 2 _A_ xlsNbLigne(res)
SELON xlsNbColonne(res)
CAS 1 TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
)
CAS 2 TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
,xlsDonnée(res,c,2)...
)
CAS 3 TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
,xlsDonnée(res,c,2)...
,xlsDonnée(res,c,3)...
)
CAS 4
TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
,xlsDonnée(res,c,2)...
,xlsDonnée(res,c,3)...
,xlsDonnée(res,c,4)...
)
CAS 5
TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
,xlsDonnée(res,c,2)...
,xlsDonnée(res,c,3)...
,xlsDonnée(res,c,4)...
,xlsDonnée(res,c,5)...
) CAS 6 TableAjouteLigne(TBL_EXCEL...
,xlsDonnée(res,c,1)...
,xlsDonnée(res,c,2)...
,xlsDonnée(res,c,3)...
,xlsDonnée(res,c,4)...
,xlsDonnée(res,c,5)...
,xlsDonnée(res,c,6)...
)
FIN
FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 326 messages |
|
| Posté le 28 mai 2015 - 10:10 |
Bonjour.
Tu n'es pas loin ... Il faut savoir que pour affecter une valeur dans une cellule de table on peut écrire table[nligne][ncolonne] = "ma valeur" A partir de là tu affectes chaque cellule de ta table à chaque cellule Excel.
Si je ne me trompe pas un code de ce type devrait fonctionner.
n est un entier col est un entier
POUR c = 2 _A_ xlsNbLigne(res) n = tablejoute(TBL_EXCE) pour col = 1 a xlsNbColonne(res) TBL_EXCE[n][col] = xlsDonnée(res,n,col) FIN FIN
Petite remarque : attention aux numériques et dates ! Quand tu clones une colonne texte toutes tes colonnes sont du texte, donc si tu importes "15/01/2015" tu auras cela dans ta table au format chaine.
Michel. |
| |
| |
| | | |
|
| | |
| |
| Posté le 28 mai 2015 - 10:28 |
bonjour,
parfois c'est très simple mais invisible
Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
| Posté le 25 décembre 2025 - 15:21 |
| lorsque j'importe les données depuis un fichier excel dans windev, bizarrement le champ sexe est vide... dans windev le champ sexe est de type combo donc je voudrai une aide svp |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 021 messages |
|
| Posté le 25 décembre 2025 - 15:42 |
Bonjour, difficile de vous aider avec si peu d'information. Pouvez-vous expliquer la donnée dans Excel et la structure dans Windev (Combo) ? Cdlt |
| |
| |
| | | |
|
| | | | |
| | |
|