|
| importation d'un tableau excel dans une table |
| Débuté par muriel.catlas, 07 déc. 2004 10:53 - 3 réponses |
| |
| | | |
|
| |
| Posté le 07 décembre 2004 - 10:53 |
Bonjour à tous
J'ai besoin d'aide svp ! Je suis débutante sous windev je précise !
J'aimerai importer un tableau excel dans une table de mon projet ! J'ai fait une manip qui ne fonctionne pas comme je le souhaite ! Il m'importe une case vide ! Pourtant je l'ai testé avant sur une autre table et ça marche ! Voilà si qqn a une solution à mon problème merci de m'aider ! |
| |
| |
| | | |
|
| | |
| |
| Posté le 07 décembre 2004 - 13:20 |
// Déclaration des variables
FichierXLS est une chaîne IdFichierXLS est un entier i est un entier j est un entier var_tableau est un tableau de (nbre de colonnes dans le tableau) Variants
// Sélection du fichier XLS FichierXLS = fSélecteur("", "", "Sélection d'un fichier XLS", ... "Fichier XLS" + TAB + "*.XLS", "XLS", fselOuvre+fselExiste)
// Ouverture du fichier sélectionné - attention verifier qu il ne soit pas deja ouvert IdFichierXLS = xlsOuvre(FichierXLS)
// lecture des lignes POUR i=2 A xlsNbLigne(IdFichierXLS) // commence a 2 si on veut pas recuperer l'entete du fichier excel
// recup des valeurs colonnes et affectation dans le tableau POUR j=1 A (nombre de colonnes) // voir selon format date du fichier excel .... var_tableau[j]=ChaîneVersDate(xlsDonnéeIdFichierXLS,i,j)) var_tableau[j]=xlsDonnée(IdFichierXLS,i,j) FIN TableAjouteLigne(tab_resulat,var_tableau[1],var_tableau[2],var_tableau[3],var_tableau[4],var_tableau[5],var_tableau[6],var_tableau[7],var_tableau[8],var_tableau[9],var_tableau[10],etc.................
FIN
il y a surement plus simple mais ca doit marcher. |
| |
| |
| | | |
|
| | |
| |
| Posté le 13 décembre 2004 - 13:09 |
| Après avoir suivi les indications ça ne fonctionne toujours pas ! SVP à l'aide ! |
| |
| |
| | | |
|
| | |
| |
| Posté le 13 décembre 2004 - 15:03 |
Bonjour,
Premiere etape que j'effectue, je transforme le fichier xls en csv car si le fichier est trop volumineux, cela prends beaucoup de temps.
Fichiercsv est une chaine sdonnee est une chaîne guillemet est une chaîne
Fichiercsv =ExtraitChaîne(Minuscule(Sais_Fic),1,".xls")+".csv" Multitache()
//macro pour convertir le fichier xls en fichier csv oExcel>>visible=OLEFaux oExcel>>workbooks>>opentext(Sais_Fic) oExcel>>Activeworkbook>>Saveas(Fichiercsv,6) oExcel>>Activeworkbook>>close(Faux) oExcel>>quit()
voila le fichier csv est créé.
nIdFic=fOuvre(Fichiercsv,foLecture) SI nIdFic=-1 ALORS Erreur("Impossible d'ouvrir le fichier.",... "Vérifier qu'il n'est pas déjà ouvert sur une autre application.",xlsMsgErreur(nIdFic)) RETOUR FIN TableSupprimeTout(TableImport) sLigne= fLitLigne(nIdFic)
Premiere ligne contenant les données nPremièreLigne = 1 sinon nPremièreLigne=2 nNbColonnes est un entier= ChaîneOccurrence(sLigne, ";")+1
TANTQUE sLigne <> EOT // on remplit la table mémoire TableAjouteLigne(TableImport) // on construit la ligne lue POUR nColonne =1 A nNbColonnes sdonnee=ExtraitChaîne(sLigne,nColonne,";") SI sdonnee=EOT ALORS {"Colonne"+nColonne}[TableOccurrence(Table)]="" SINON // Je traite si il y a des guillemets guillemet=sdonnee SI ChaîneOccurrence(guillemet,gCO_Guillemet)>1 ALORS SI Gauche(guillemet,1)=gCO_Guillemet ALORS guillemet=Milieu(guillemet,2,Taille(guillemet)-1) SI Droite(guillemet,1)=gCO_Guillemet ALORS guillemet=Gauche(guillemet,Taille(guillemet)-1) TANTQUE ChaîneOccurrence(guillemet,gCO_Guillemet+gCO_Guillemet)<>0
guillemet=Remplace(guillemet,gCO_Guillemet+gCO_Guillemet,gCO_Guillemet) FIN FIN {"Colonne"+nColonne}[TableOccurrence(TableImport)]=guillemet FIN // si c'est un numérique SI NumériqueVersChaine(Val(sdonnee))=sdonnee ALORS {"Colonne"+nColonne}..CadrageHorizontal=iDroite SINON {"Colonne"+nColonne}..CadrageHorizontal=iGauche FIN FIN sLigne = fLitLigne(nIdFic) FIN
Voila j'espere t'avoir aider.
-- Sandrine Legrix Sandrine.legrix@p-s-i.com PSI
"muriel" <muriel.catlas@landes.chambagri.fr> a écrit dans le message de news: 41b565a9@news.pcsoft.fr...
Bonjour à tous
J'ai besoin d'aide svp ! Je suis débutante sous windev je précise !
J'aimerai importer un tableau excel dans une table de mon projet ! J'ai
fait une manip qui ne fonctionne pas comme je le souhaite ! > Il m'importe une case vide ! Pourtant je l'ai testé avant sur une autre table et ça marche !
Voilà si qqn a une solution à mon problème merci de m'aider !
|
| |
| |
| | | |
|
| | | | |
| | |
|