PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → MàJ d'1 fichier existant avec un XLS
MàJ d'1 fichier existant avec un XLS
Iniciado por vinz_mangin, mar., 10 2006 11:02 AM - 1 resposta
Publicado em março, 10 2006 - 11:02 AM
Bonjour à tous,

J'expose mon petit souci que je n'arrive pas à résoudre depuis 2 jours:
J'ai un fichier comportant une liste d'agent, j'ai créé un bouton qui fait appel à une procédure afin de mettre à jour ce fichier à partir d'un autre fichier XLS.
Mon problème étant que je ne trouve pas de fonction équivalant à FSélecteur pour sélectionner mon fichier, le reste de ma procédure me parait correct:

//Importation du fichier
NomFichierXls est une chaîne
NumFichierXls est un entier
NbLigneXls est une entier
Iter est un entier

//NomFichierXls = fSélecteur("C:\Mes Sites\GestServ","AGENT.xls" ,"Sélection d'un fichier xls","Excel"+TAB+"*.xls","xls")

//c'est ici que j'utilise normalement FSélecteur sous WinDev
//NomFichierXls = fOuvre("C:\Mes Sites\GestServ\agents.xls",foLecture) "simple essai"
fSélecteur("","","Sélection d'un fichier xls","Excel"+TAB+"*.xls","xls")

//Si la séléction est annulée, arrêt de la procédure
SI NomFichierXls = "" ALORS RETOUR

//Import du fichier
//Ouverture du fichier
NumFichierXls = xlsOuvre(NomFichierXls)
//Si le fichier ne s'ouvre pas, message d'erreur
SI NumFichierXls = -1 ALORS
Erreur("Impossible d'ouvrir le fichier "+NomFichierXls+RC+...
"Veuillez vérifier le format de ce fichier")


RETOUR
FIN

//Nombre de ligne à importer
Iter = 0
NbLigneXls = xlsNbLigne(NumFichierXls)

//Boucle sur le nombre de ligne
POUR Iter = 1 A NbLigneXls
//Recherche si le l'agent existe
//Si il n'existe pas, on le crée

AGENT.IDAGENT=xlsDonnée(NumFichierXls,Iter,1)
AGENT.CODE_SERV= xlsDonnée(NumFichierXls,Iter,14)
AGENT.NOM=xlsDonnée(NumFichierXls,Iter,3)
AGENT.PRENOM=xlsDonnée(NumFichierXls,Iter,4)
AGENT.MATRICULE=xlsDonnée(NumFichierXls,Iter,1)
AGENT.POSTE_MAIRIE=xlsDonnée(NumFichierXls,Iter,9)
AGENT.POSTE_ABREGE=xlsDonnée(NumFichierXls,Iter,10)
AGENT.EMAIL=xlsDonnée(NumFichierXls,Iter,12)
AGENT.MESSAGERIE=xlsDonnée(NumFichierXls,Iter,16)

HAjoute("AGENT")

FIN
Info("Le fichier AGENT comprend maintenant"+ NbLigneXls+ "enregistrements.")
//Fermeture du fichier xls
xlsFerme(NumFichierXls)

Si quelqu'un avait une solution à me proposé, je lui en serai reconnaissant, car il me reste 8 jours pour achever mon projet.
Merci à tous
Publicado em março, 10 2006 - 11:31 AM
Vincent Touré a utilisé son clavier pour écrire :
Bonjour à tous,

J'expose mon petit souci que je n'arrive pas à résoudre depuis 2 jours:
J'ai un fichier comportant une liste d'agent, j'ai créé un bouton qui fait
appel à une procédure afin de mettre à jour ce fichier à partir d'un autre
fichier XLS. Mon problème étant que je ne trouve pas de fonction équivalant à
FSélecteur pour sélectionner mon fichier, le reste de ma procédure me parait
correct:


il faut que tu gères un champs upload.
tu as des superchamps pour ça je crois ou tu utilises une case à cocher
sur les champs de saisie texte.
Ce champs upload intègrera le sélecteur et le principe est que tu dois
copier (uploadCopieFichier) ton fichier sur le serveur pour le traîter.

N'oublie pas que tu es dans un contexte web et que les accès à la
machine utilisateur sont (heureusement) limités.



//Importation du fichier
NomFichierXls est une chaîne
NumFichierXls est un entier
NbLigneXls est une entier
Iter est un entier

//NomFichierXls = fSélecteur("C:\Mes Sites\GestServ","AGENT.xls" ,"Sélection
d'un fichier xls","Excel"+TAB+"*.xls","xls")

//c'est ici que j'utilise normalement FSélecteur sous WinDev
//NomFichierXls = fOuvre("C:\Mes Sites\GestServ\agents.xls",foLecture)
"simple essai" fSélecteur("","","Sélection d'un fichier
xls","Excel"+TAB+"*.xls","xls")

//Si la séléction est annulée, arrêt de la procédure
SI NomFichierXls = "" ALORS RETOUR

//Import du fichier
//Ouverture du fichier
NumFichierXls = xlsOuvre(NomFichierXls)
//Si le fichier ne s'ouvre pas, message d'erreur
SI NumFichierXls = -1 ALORS
Erreur("Impossible d'ouvrir le fichier "+NomFichierXls+RC+...
"Veuillez vérifier le format de ce fichier")


RETOUR
FIN

//Nombre de ligne à importer
Iter = 0
NbLigneXls = xlsNbLigne(NumFichierXls)

//Boucle sur le nombre de ligne
POUR Iter = 1 A NbLigneXls
//Recherche si le l'agent existe
//Si il n'existe pas, on le crée

AGENT.IDAGENT=xlsDonnée(NumFichierXls,Iter,1)
AGENT.CODE_SERV= xlsDonnée(NumFichierXls,Iter,14)
AGENT.NOM=xlsDonnée(NumFichierXls,Iter,3)
AGENT.PRENOM=xlsDonnée(NumFichierXls,Iter,4)
AGENT.MATRICULE=xlsDonnée(NumFichierXls,Iter,1)
AGENT.POSTE_MAIRIE=xlsDonnée(NumFichierXls,Iter,9)
AGENT.POSTE_ABREGE=xlsDonnée(NumFichierXls,Iter,10)
AGENT.EMAIL=xlsDonnée(NumFichierXls,Iter,12)
AGENT.MESSAGERIE=xlsDonnée(NumFichierXls,Iter,16)

HAjoute("AGENT")

FIN
Info("Le fichier AGENT comprend maintenant"+ NbLigneXls+ "enregistrements.")
//Fermeture du fichier xls
xlsFerme(NumFichierXls)

Si quelqu'un avait une solution à me proposé, je lui en serai reconnaissant,
car il me reste 8 jours pour achever mon projet. Merci à tous


--
Eric Roumégou
Webmaster des wtablettes