|
Importation csv impossible |
|
Stagiaire WDF
Inscrit: 21/12/2006 14:36
Post(s): 2
|
Très urgent. Bonjour, Je n'arrive pas à faire une importation d'un fichier csv dans ma table windev, si quelqu'un aurait un exemple qui fonctionne, merci d'avance. J'utilise le code suivant mais il ne fonctionne pas. 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)<&g t;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
Cordialement Jean Paul
Contribution le : 21/12/2006 14:47
|
|
|
Re: Importation csv impossible |
|
Utilisateur WDF
Inscrit: 06/02/2003 08:38
De Bourgogne
Post(s): 88
|
Bonjour, j'ai fait quelques simplifications,
Cordialement,
JYM
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))<=== c'est pas un fichier excel 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
liLigne est un entier TANTQUE sLigne <> EOT et sLigne<>"" // on remplit la table mémoire liligne=TableAjouteLigne(TableImport) // on construit la ligne lue POUR nColonne =1 A nNbColonnes sdonnee=ExtraitChaîne(sLigne,nColonne,";") // on supprime les guillemets sdonnee=remplace(sdonnee,"""","") tableimport[nColonne][liligne]=sdonnee // si c'est un numérique SI NumériqueVersChaine(Val(sdonnee))=sdonnee ALORS tableimport[nColonne][liligne]..CadrageHorizontal=iDroite SINON tableimport[nColonne][liligne]..CadrageHorizontal=iGauche FIN FIN sLigne = fLitLigne(nIdFic) FIN
Contribution le : 21/12/2006 16:07
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.