|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Bonjour,
J'ai un petit problème, Je dois convertir un fichier excel en XML. Le fichier excel contient beaucoup de feuilles, toutes de format différent. En fait, je dois insérer toutes les infos dans un seul fichier, et chaque itération écrase le résultat de la précédente. Je ne sais pas comment faire pour ne pas avoir ce problème... Je pense que cela vient du fait que j'insère chaque feuille dans un fichier XML différent qui pointe en fait vers la même cible, je voudrais faire un deuxième tMap pour regrouper chaque fichier XML (de chaque feuille) dans un seul fichier XML en sortie mais cela n'a pas l'air possible... J'ai mis en pièce jointe, mon job talend. Je ne sais pas si j'ai été très clair... Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Bonjour,
Est-ce qu'il ne suffit pas de cocher l'option 'Append the source xml file' dans les tAdvancedFileOuputXML ? Nicolas |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Je ne sais pas... je peux toujours essayer mais où as tu cochez cette option ? je ne l'ai pas trouvé
|
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
C'est sur l'onglet Basic settings du composant. C'est la première case à cocher.
Je l'ai sur une version 4.1.1 |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Non c'est pas ça... ça ne fonctionne pas
|
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2003 Messages : 19 ![]() |
Bonjour,
Techniquement le XML n'est pas vraiment facile à fusionner (notamment dans le choix de la balise de type "Boucle" et si elle est unique...). Il (me) reste donc 2 possibilités pour approcher ton problème : - Soit tes données sont "rapprochables" d'un format simple et commun et dans ce cas, il vaut mieux les rapprocher avant de les transformer en XML. J'entends par format simple, un bon vieux "ligne-colonne" (2 dimensions donc). - Soit tes données sont regroupables (une troisième dimension due au type de la donnée) et alors je pense que tu vas devoir faire le travail à la main : 1- Création de l'en-tête du XML jusqu'à la balise déclarative de données 2- Ajout des enregistrements XML de type 1 3- Ajout des enregistrements XML de type 2... 4- Ajout des balises de fin. Dans le composant "tAdvancedFileOutputXML", il est possible de cocher l'option "append" dont vous parliez ci-dessus. Mais attention Et si cela ne fonctionne toujours pas, il va falloir le faire avec un bon vieux code java ! ![]() Je ne sais pas si ça peut t'aider...je l'espère en tout cas. Bonne journée et bon courage... Yust... |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Merci pour vos réponses très précises,
Yust : Oui le fichier XML à un format simple et commun pour toutes les feuilles, je voudrais justement regrouper les informations avant la conversion en utilisant un tMap mais il m'est impossible de faire le lien entre plusieurs feuilles Excel et un seul élément tMap... C'est en gros le coeur du problème. Aurais-tu une solution ? Pour le code Java à la main...Ca me semble difficilement réalisable...^^ Merci pour ton aide ! |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2003 Messages : 19 ![]() |
Re...
La première étape est donc de fusionner tes "feuilles" excel en une (ou un fichier csv). Pour cela, tu va devoir faire plusieurs sous-job (en les reliant par une condition "OnSubjobOK"). Chaque sous-job lit une feuille de ton fichier excel et l'ajoute à un fichier csv commun. Le résultat est un fichier csv prêt à être transformé en fichier XML (dans un sous-job). Est-ce que ça répond à ta question ? Yust... |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Oui merci beaucoup! J'ai bien compris la méthode, je vais essayer tout ça !
Une seule question, je dois mettre quoi comme chemin au fichier excel regroupant les feuilles ?? Je t'ai mis en pièce jointe mon job, fais rapidement pour le moment |
|
|
00
|
|
|
#10 | |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Oui, je venais de trouver cette méthode aujourd'hui, mais le problème c'est que mes feuilles excel n'ont pas le même schéma !
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
tetsu no tama : j'ai fais comme tu m'as conseillé, avec tUnite, mais j'ai un problème : le chargement de la feuille en ordre 2 efface les opérations réalisées en ordre 1 donc au final j'ai qu'une partie des informations au niveau XML,en sortie. Vois-tu une solution ?
Merci d'avance jai mis une capture en piece jointe |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Le tUnite semble bien fonctionner sur ton schéma :
10 lignes issues de ta première feuille et 20 de la deuxième feuille et 30 lignes après le tUnite. Cependant tu n'as plus que 4 lignes en sortie de ton tmap, je chercherais sur les filtres que j'ai appliqué dans ce composant si j'étais toi. |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Bonjour,
Me revoilà pour une question... Je souhaite réunir 2 fichiers Excel en un seul fichier Quel 'chemin' attribuer au fichier servant à regrouper pour lui dire que c'est là réunion des deux précédents ?? Capture d'écran en pièce jointe Merci d'avance |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com