PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Envoie d'un fichier Excel une fois le Formulaire terminer
Envoie d'un fichier Excel une fois le Formulaire terminer
Iniciado por dboiseaux, 07,nov. 2019 12:29 - 4 respuestas
Publicado el 07,noviembre 2019 - 12:29
Bonjour a tous, voila j'ai fait pas mal de recherche et n'arrive pas a mettre en place ce module.
Une fois que mon utilisateurs a remplie tout le formulaire j'aimerais pouvoir mettre les données dans un fichier excel et directement envoyé a une personne.
Le petit bemole c'est que l'utilisateur ne doit pas savoir qu'il envoie ces donnée a l'administrateur. Question de controle.

J'ai essayer avec un état mais le rendu est moche.
Miembro registrado
132 mensajes
Publicado el 07,noviembre 2019 - 15:41
Bonjour,
il existe plusieurs possibilités.
Mais on devrait en savoir un peu plus sur le type de formulaire utilisé.
Si c'est une table, il suffit de faire une exportation de celle-ci vers un fichier excel et de l'envoyer par email lors de la validation des données de la part de l'utilisateur. Toutes ces tâches sont des traitements sans que l'utilisateur n'aie à agir. Ce dernier ne verra qu'un sablier.

Bon dev.

--
Cordialement

Philippe T.
Publicado el 07,noviembre 2019 - 16:01
Voici une image de mes formualires :




Dans chaque onglets c'est la meme chose. Sauf que dans le dernier il y a le bouton Valider qui envoie toutes les données a la base.
Et je veux faire que dans le bouton valider, sans que utilisateurs le voit, envoyer les remponses des mes formulaires tout cela dans un fichier excel.

Cordialement
Publicado el 07,noviembre 2019 - 16:17
au début j'etais parti sur un état mais c'est pas très jolie.
Miembro registrado
491 mensajes
Publicado el 07,noviembre 2019 - 16:45
Bonjour

En faite vous bloquez où ?
car dans l'absolu c'est assez simple
1 => création d'1 fichier excel
DocExcel est un xlsDocument// Création du document Excel
xlsAjouteFeuille(DocExcel,"Feuille_1",1)// Ajout d'une feuille *obligatoire*
DocExcel..Feuille = 1// On se place sur la feuille 1 *au cas ou*
DocExcel..Ligne[1]..Cellule[1] = "Test"// Ajout d'une valeur dans la case[1,1]
xlsSauve(DocExcel,"C:\Users\virtual 7\Desktop\test.xls")// Sauvegarde du document
xlsFerme(DocExcel)


2 => envoi du mail avec pièce jointe :
Monattache est un emailAttache

Session est une emailSessionSMTP
Session..AdresseServeur = adressedetonserveursmtp

SI EmailOuvreSession(Session) = Faux ALORS
RETOUR
FIN

MonEmail est un Email
MonEmail..Expediteur ="expediteur@expediteur.com"
Ajoute(MonEmail..Destinataire, "destinataire@destinataire.com")


MonEmail..Sujet = "Envoi de données"
MonEmail..Message = "blablabla



Monattache..Nom = "Rapport"
Monattache..Contenu = fChargeBuffer(,"C:\Users\VIRTUAL 7\Desktop\test.xls")
Monattache..ContentType = "excel/xls"
Monattache..ContentDescription = "excel XLS"
Ajoute(MonEmail..Attache,Monattache)



EmailEnvoieMessage(Session, MonEmail)
SI ErreurDétectée ALORS
ToastAffiche("Erreur lors de l'envoi du mail !",toastLong,cvBas,chCentre)
SINON
ToastAffiche("Votre mail à été envoyé" ,toastCourt,cvBas,chCentre)
EmailFermeSession(Session)
FIN

Pensez à supprimer le fichier excel une fois terminé également.

Pour info j'ai pas testé le code juste un copié collé de mon code que j'ai transformé un peu mais l'idée est là.

Cordialement
Mensaje modificado, 07,noviembre 2019 - 16:48