PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → export table en excel
export table en excel
Started by bmalisani, Apr., 20 2006 2:47 PM - 7 replies
Posted on April, 20 2006 - 2:47 PM
Bonjour ,

Pourriez-vous m'indiquer la procédure pour exporter une table sur un fichier excel
plus le chemin

@+
Posted on April, 20 2006 - 3:49 PM
Bonjour,
Oui, il suffit de lire l'aide : TableVersExcel.
Le chemin est :
? => index de l'aide => TableVersExcel.

Frédéric.
Posted on April, 20 2006 - 4:59 PM
Salut ,
j'ai déjà lu mais cela ne fonctionne pas
ma table est constitué aprés vérif mais au moment de l'exporter

TableVersExcel("MARQUEM",ACetEndroit) erreur sur le champ MARQUEM

voiçi le code

compteur est un entier
ACetEndroit est une chaîne
HCréation(MARQUEM)
Sablier(Vrai)
HExécuteRequête(REQ_MARQUEM1,hRequêteDéfaut)
HExécuteRequête(REQ_MARQUEM2,hRequêteDéfaut)
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM1)
MARQUEM.EAN11KAR = 0
TANTQUE PAS HEnDehors
MARQUEM.MATNR = REQ_MARQUEM1.MATNR
MARQUEM.MAKTX = REQ_MARQUEM1.MAKTX
MARQUEM.UMREZ = REQ_MARQUEM1.UMREZ
MARQUEM.MHDHB = REQ_MARQUEM1.MHDHB
MARQUEM.EAN11KAR = REQ_MARQUEM1.EAN11

compteur = 0
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM2)
TANTQUE PAS HEnDehors

SI MARQUEM.MATNR = REQ_MARQUEM2.MATNR ALORS
MARQUEM.EAN11ZUC = REQ_MARQUEM2.EAN11
compteur = 1
SORTIR
FIN
HLitSuivant(REQ_MARQUEM2)
FIN

HAjoute(MARQUEM)

MARQUEM.EAN11KAR = 0
MARQUEM.EAN11ZUC = 0

HLitSuivant(REQ_MARQUEM1)

FIN

ACetEndroit = "N:\Appli\Marquem\"+"marquem.xls"
// Export vers Excel
TableVersExcel("MARQUEM",ACetEndroit)



Message("Extraction faîte....")
Posted on April, 20 2006 - 6:02 PM
TableVersExcel exporte un WIDGET table vers un fichier Excel, par un fichier HF, ni une requête !
JE vois deux solutions pour ton problème:
Soit tu exportes les données en pilotant Excel,
soit tu construis d'abord une table pour contenir les données, puis tu l'exportes.

Dans mon application j'ai choisi la deuxième méthode. J'ai un champ table caché dans la fenêtre, et j'exporte les données de n'importe quel fichier HF en utilisant cette table. Requete est une requête construite en fonction de plusieurs paramètres.
// Choix du fichier de destination
NomFic = fSélecteur("u:\", NomDefaut, "Sélectionnez un fichier...", "Fichiers Excel"+TAB+"*.xls", "xls", fselCrée+fselExiste)

SI NomFic <> "" ALORS
Sablier(Vrai)
// Lancement de la requête
SI PAS HExécuteRequêteSQL(Requete,Remplace(TexteRequete,"-","")) ALORS
// Message d'erreur
Erreur(ErreurInfo())
// suppression du sablier
Sablier(Faux)
// Retour dans la table d'appel
RepriseSaisie(ChampContextuel())
FIN

// Construction de la table qui contiendra le résultat de la requête
ConstruitTableFichier(TableExport,Requete,taRemplirTable)
// Export des données
SI TableVersExcel(TableExport,NomFic,taTitreColonnes) ALORS
Sablier(Faux)
SI OuiNon("Le fichier " + NomFic + " a été correctement créé. Voulez-vous l'ouvrir ?") ALORS
// Ouverture
LanceAppliAssociée(NomFic)
FIN
SINON
Sablier(Faux)
Erreur("Impossible de créer le fichier : " + ErreurInfo(errMessage))
FIN
HAnnuleDéclaration(Requete)
FIN

Frédéric.
Posted on April, 20 2006 - 6:03 PM
abflm vient de nous annoncer :
Salut ,
j'ai déjà lu mais cela ne fonctionne pas
ma table est constitué aprés vérif mais au moment de l'exporter

TableVersExcel("MARQUEM",ACetEndroit) erreur sur le champ MARQUEM

voiçi le code

compteur est un entier
ACetEndroit est une chaîne
HCréation(MARQUEM)
Sablier(Vrai)
HExécuteRequête(REQ_MARQUEM1,hRequêteDéfaut)
HExécuteRequête(REQ_MARQUEM2,hRequêteDéfaut)
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM1)
MARQUEM.EAN11KAR = 0
TANTQUE PAS HEnDehors
MARQUEM.MATNR = REQ_MARQUEM1.MATNR
MARQUEM.MAKTX = REQ_MARQUEM1.MAKTX
MARQUEM.UMREZ = REQ_MARQUEM1.UMREZ
MARQUEM.MHDHB = REQ_MARQUEM1.MHDHB
MARQUEM.EAN11KAR = REQ_MARQUEM1.EAN11

compteur = 0
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM2)
TANTQUE PAS HEnDehors

SI MARQUEM.MATNR = REQ_MARQUEM2.MATNR ALORS
MARQUEM.EAN11ZUC = REQ_MARQUEM2.EAN11
compteur = 1
SORTIR
FIN
HLitSuivant(REQ_MARQUEM2)
FIN

HAjoute(MARQUEM)

MARQUEM.EAN11KAR = 0
MARQUEM.EAN11ZUC = 0

HLitSuivant(REQ_MARQUEM1)

FIN

ACetEndroit = "N:\Appli\Marquem\"+"marquem.xls"
// Export vers Excel
TableVersExcel("MARQUEM",ACetEndroit)



Message("Extraction faîte....")


salut,
dans ton code, MARQUEM représente un fichier.Tu ne peux pas exporter un
fichier ( au sens pcsoft) vers Excel avec cette fonction.
PAr contre ce que tu peux faire, c'est remplir une table( une grille)
avec ce fichier (MARQUEM)... et la tu pourras l'exporter en utilisant
la fonction TableVersExcel()

@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc
Posted on April, 20 2006 - 6:59 PM
sans les guillemets pas essayer avec tableexell mais
tableversxml(table,"destination")
"abflm" <bmalisani@raynal-roquelaure.fr> a écrit dans le message de news:
44477b67$1@news.pcsoft.fr...

Salut ,
j'ai déjà lu mais cela ne fonctionne pas
ma table est constitué aprés vérif mais au moment de l'exporter

TableVersExcel("MARQUEM",ACetEndroit) erreur sur le champ MARQUEM

voiçi le code

compteur est un entier
ACetEndroit est une chaîne
HCréation(MARQUEM)
Sablier(Vrai)
HExécuteRequête(REQ_MARQUEM1,hRequêteDéfaut)
HExécuteRequête(REQ_MARQUEM2,hRequêteDéfaut)
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM1)
MARQUEM.EAN11KAR = 0
TANTQUE PAS HEnDehors
MARQUEM.MATNR = REQ_MARQUEM1.MATNR
MARQUEM.MAKTX = REQ_MARQUEM1.MAKTX
MARQUEM.UMREZ = REQ_MARQUEM1.UMREZ
MARQUEM.MHDHB = REQ_MARQUEM1.MHDHB
MARQUEM.EAN11KAR = REQ_MARQUEM1.EAN11

compteur = 0
// Lecture du premier enregistrement du résultat de la requête
HLitPremier(REQ_MARQUEM2)
TANTQUE PAS HEnDehors

SI MARQUEM.MATNR = REQ_MARQUEM2.MATNR ALORS
MARQUEM.EAN11ZUC = REQ_MARQUEM2.EAN11
compteur = 1
SORTIR
FIN
HLitSuivant(REQ_MARQUEM2)
FIN

HAjoute(MARQUEM)

MARQUEM.EAN11KAR = 0
MARQUEM.EAN11ZUC = 0

HLitSuivant(REQ_MARQUEM1)

FIN

ACetEndroit = "N:\Appli\Marquem\"+"marquem.xls"
// Export vers Excel
TableVersExcel("MARQUEM",ACetEndroit)



Message("Extraction faîte....")
Posted on April, 21 2006 - 1:24 PM
bonjour,
Suite.... la table je la visualise à l'ecran aprés traitement en faisant un clic droit j'ai droit à l'exportation sur excel ,word... tous ce passe bien...

je voudrais automatiser cet exportation

je pensais à TableVersExcel (MARQUEM,acetendroit)
mais j'arrive sur une
Erreur à la ligne 52 du traitement Initialisation de SAP_P_MARQUEM.
Vous avez appelé la fonction TableVersExcel.
Le passage du paramètre 1 a provoqué une erreur.
Le champ MARQUEM est inconnu.

je ne comprends plus....
@+
Posted on April, 21 2006 - 2:36 PM
Il faut prendre la peine de lire les réponses ! MARQUEM est un FICHIER, or TableVersExcel exporte le contenu d'un CHAMP TABLE !
Tu dois mettre le contenu de ton FICHIER dans une TABLE ( mémoire ou fichier, comme tu veux ), puis l'exporter avec TableVersExcel.
En bref:
Tu crées dans ta fenêtre un CHAMP TABLE nommé MaTable.
Tu remplis la TABLE avec ton FICHIER MARQUEM.
Tu exportes la TABLE avec TableVersExcel(MaTable,'TOTO.XLS')

Frédéric.