IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Talend : Conversion Excel - XML


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut Talend : Conversion Excel - XML
    Bonjour,

    Je suis débutant sur Talend, et je dois convertir un fichier excel en fichier xml.

    1er Question : Je voudrais savoir comment attribuer un schéma pour chacune de mes feuilles excel...

    et 2 Question : Quand je creer un fichier XML pour ma sortie, j'importe bien un schéma mais j'ai pourtant comme erreur "Add a schema on repository" et "Define the schema" alors je ne comprend pas, et du coup je ne peux pas continuer...

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Pour attribuer un schéma à ta feuille excel il y a plusieurs moyens, le plus rapide et réutilisable est de cliquer sur "Fichier Excel" dans la partie "Métadonnées" puis sur "créer un nouveau fichier Excel". Il te suffit ensuite de sélectionner ton fichier. Tu fais ensuite un glisser / déposer de ton objet présent dans tes métadata vers ton job chaque fois que tu as besoin de lire le dit fichier excel.

    Quel composant utilises-tu pour la création de ton fichier XML ? Lorsque, sur ton composant XML (tFileOutputXML, tAdvancedFileOutputXML, ...) tu vas dans éditer le schémas, y a t'il bien un schéma défini pour la partie input et output ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Pour le fichier excel j'ai bien compris^la démarche, mais j'ai des feuilles avec des schémas différents, donc comment faire pour attribuer un schéma à chaque feuille ?

    Et le fichier XML oui jai un schéma dans input et output mais cest le meme, donc y a surement un soucis ^^

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Pour la partie Excel :
    Si tes schémas sont identiques sur toutes tes feuilles, tu peux toutes les intégrer pour ne générer qu'un seul flux de sortie. Or, chez toi, ce n'est pas le cas, il te faut donc définir 1 métadonnée par feuille (répéter l'opération que je t'ai indiqué en choisissant la feuille correspondante)

    Pour la partie XML :
    Non, c'est normal que tes schémas soient identiques en input et output.
    Par contre, il te faut configurer l'arbre XML de sortie (Si tu utilises un tAdvancedFileOuputXML). Si tu as déjà un exemple de fichier XML tel que tu l'attends en sortie, tu peux l'importer dans tes métadata, sinon, je te conseille d'utiliser le tAdvancedFileOuputXML qui te permettras de faire le lien entre tes champs et tes nœuds (et de définir sur quel nœud tu itères, etc.)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Ok, super je vais faire tout ca !

    Merci bien ! ;-)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    C'est encore moi, j'ai un probleme lorsque je veux ajouter mon schéma de sortie de mon fichier XML j'ai comme erreur "Add a schema on repository - Define the schéma" j'ai essayé pleins de trucs mais je ne sais pas ce qu'il faut que je fasse pour que ca fonctionne enfin... Parce que "définir le schema" cest justement ce que je veux faire... ^^

    Merci d'avance, j'ai mis une capture en piece jointe
    Images attachées Images attachées  

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Ok, rien de bien grave.

    Il te faut faire du glisser déposer des champs de ton flux d'entrée (à gauche) vers les noeuds correspondant dans ton arbre XML (à droite) et ensuite sélectionner les noeuds de regroupement et les noeuds à itérer.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    J'avais fini par trouver, j'ai fait tout ca !
    Mais merci pour tes reponses

    Dernière question, j'ai des erreurs comme quoi jai des attributs en double mais je ne peux pas faire autrement, comment gérer les doublons ?? en mettant des clés ?

    voir pièce jointe ;-)
    Images attachées Images attachées  

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Il ne s'agit visiblement pas d'un problème de données mais d'un problème de métadonnées. Il y a plusieurs colonnes portant le même nom dans ton fichier Excel ce qui génère des erreurs de compilation de ton job.

    Renomme tes colonnes portant les mêmes noms.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup!
    Pour en revenir au fichier excel avec plusieurs feuilles, j'ai créé une métadonnée pour chacune des feuilles...mais impossible de les parcourir sauf la première...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Pour faire le test simplement et vérifier si le problème vient de la définition de tes métadonnées ou de ton tmap (si tu fais une jointure entre les deux flux), tu peux essayer ceci :

    tFileInputExcel_1 (correspondant à la feuille 1) --> tLogRow
    tFileInputExcel_2 (correspondant à la feuille 2) --> tLogRow

    si la sortie affiche bien le contenu des deux feuilles c'est que la configuration de tes métadonnées est bonne et que le problème vient de plus loin dans le design de ton job.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Merci, je vais chercher par là car toutes les feuilles me donnent en résultat le conten de la première

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Dans ce cas, c'est qu'à mon avis tu as mal configuré tes métadonnées Excel. Lorsque tu fais "créer un fichier Excel" dans la partie métadonnées, tu sélectionne le fichier existant puis tu dans la partie "configurer les paramètres de la feuille" tu sélectionne bien uniquement la feuille correspondant.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    J'ai créer un fichier excel avec la première feuille, je fais une métadonnée pour celle-ci.
    Ensuite je refais "éditer" le fichier excel, je sélectionne la deuxième feuille et ensuite clique droit sur le fichier : "récupérer le schéma" pour faire la métadonnée de la deuxième feuille... etc

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Je suis obligé de faire comme ca, parce qu'en fait dans l'edition du fichier, si il y a deja une métadonnée de créée je ne peux pas acceder à l'étape 4 pour creer une metadonnée justement

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Et bien voilà où est le "hic".

    Lorsque tu créé ton tFileInputxcel, tu lui spécifie la feuille, la partie métadonnées (champs / typage) est la dernière étape.

    Lorsque tu vas faire un "drag and drop" de la définition de ton fichier Excel dans ton job, il va se référer à la feuille spécifiée, or dans ton cas, c'est toujours la feuille 1 vu que tu n'as modifié que les métadonnées.

    Il te faut, dans ton cas, créer un fichier Excel pour chacune de tes feuilles et spécifier, pour chacune, les métadonnées attendues.

    Évidemment, si chacune de tes feuilles comporte le même genre de données et le même schéma, tu ne créé qu'un seul fichier Excel dans lequel tu inclues toutes les feuilles, mais ça ne semble pas être ton cas.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Ok, merci! c'est ce que j'avais commencé a faire, je vais donc créer un fichier pour chaque feuille. Merci bien ;-)

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Derniere petite question après j'ai terminé
    Je voulais avoir la confirmation : j'arrive à importer mes feuilles excel, mais séparément. Il faut que j'importe tout en une fois, dans le meme fichier XML, pour cela il faut bien utiliser tMap cest ca ??

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 117
    Points : 161
    Points
    161
    Par défaut
    Il te faut effectivement utiliser un tMap. Je ne sais pas ce que contiennent tes feuilles Excel mais, j'imagine que tu peux identifier un identifiant pour tes enregistrements identiques sur les feuilles 1 / 2 et 3 ?

    Auquel cas, tu génère ton flux principal depuis le tFileInputExcel_1 et tu mets les autres flux en look-up de ton tmap, puis tu fais une jointure interne.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    je vais me pencher attentivement sur tmap alors mais je n'ai aucune feuille identique

Discussions similaires

  1. [XL-2010] Conversion excel to xml problème balise multiple
    Par arkhang dans le forum Excel
    Réponses: 4
    Dernier message: 01/04/2015, 11h48
  2. Conversion Excel - XML
    Par chtrousselle dans le forum Développement de jobs
    Réponses: 13
    Dernier message: 07/06/2011, 11h02
  3. conversion de excel à xml
    Par blaise4714 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/10/2007, 21h56
  4. de Excel à xml
    Par yos dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 06/09/2005, 15h54
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo