Création d'un job avec l'ETL Talend Open Studio qui lance une MACRO Excel

Date de publication : 18 janvier 2012

Par Mustapha EL HASSAK (Haskouse sur DVP)
 

Ce tutoriel va nous présenter comment réaliser un job, avec le fameux ETL Talend Open Studio, qui nous permettra de lancer une MACRO Excel. 1 commentaire Donner une note à l'article (5)

               Version PDF   Version hors-ligne

I. Introduction
II. La source de données
III. La destination de données
IV. Job Talend Open Studio
IV-A. Création du job qui va remplir le fichier Excel
IV-B. Mise en forme du fichier Excel en lançant la MACRO
V. Conclusion
VI. Remerciements


I. Introduction

L'article suivant présente comment réaliser pas à pas un job Talend qui va créer un fichier Excel simple rempli à partir d'un fichier texte. Ce fichier résultat sera ensuite mis en forme grâce à une MACRO Excel.

Avant de commencer je tiens à préciser qu'on n'abordera pas dans ce tutoriel le détail de création de job sous Talend vu que ça a été discuté dans cet autre tutoriel, ni la création de la MACRO Excel puisque ce n'est pas le but.


II. La source de données

La source de données est un simple fichier texte.

Voici un aperçu de ce dernier :

image
Le job qu'on va créer lira les données de ce fichier puis les enregistrera dans un fichier Excel.


III. La destination de données

La destination de données est un fichier Excel normal, sauf que ce dernier sera mis en forme avec une MACRO.

Il ressemblera à ça avant la mise en forme :

image
et à ça, après la mise en forme, c'est-à-dire après l'exécution de la MACRO :

image


IV. Job Talend Open Studio

La création du job TOS va se dérouler suivant ces étapes :

  • création du job qui va remplir le fichier Excel ;
  • mise en forme du fichier Excel en lançant la MACRO.

IV-A. Création du job qui va remplir le fichier Excel

La création du job de remplissage du fichier Excel est ce qu'il y a de plus simple. Après création d'un job, on glisse un "tFileInputDelimited" dans le designer, puis un "tFileOutputExcel" et on lie le tout avec un lien de type "Main".

image
  • Après, on accède aux propriétés du composant "tFileInputDelimited" pour spécifier ses paramètres (schéma, nom du fichier, séparateur de lignes…), on se retrouve finalement avec ça :
image
  • Ceci fait, on passe aux paramètres du "tFileOutputExcel", pour obtenir cela :
image
  • Notre job est fin prêt à l'emploi. On lance l'exécution, notre fichier Excel est bien rempli, il ne nous reste plus qu'à le mettre en forme.

IV-B. Mise en forme du fichier Excel en lançant la MACRO

Maintenant, on passe aux choses sérieuses en mettant en forme notre fichier Excel.

Pour cela, voici la MACRO qui a été utilisée. Elle a été enregistrée sur un fichier "MonVBScript.vbs". On ne va pas s'arrêter sur son contenu car ce n'est pas pertinent pour notre tutoriel :
Dim objXL
SET objXL = CreateObject("Excel.Application")
WITH objXL
    .Workbooks.Open ("C:\Users\ELHASSMU\Desktop\tuto Talend\MonExcel.xls")
   	.Range("A1:C1").Select
    .Selection.Font.Bold = True
    .Range("A2:A7").Select
    .Selection.Font.Bold = True
    .Range("B2:B7").Select
    .Selection.Font.Italic = True
    .Range("A1:C1").Select
    .Range("A2:C7").Select
    .Columns("C:C").ColumnWidth = 21.43
    .Columns("B:B").ColumnWidth = 16.29
    .Range("A1:C7").Select
    .Selection.Font.Size = 12
    .Selection.Font.Size = 14
    .Selection.Font.Size = 16
    .Range("A1:C1").Select
    .Range("A2:C7").Select
    .Columns("C:C").Select
    .Application.Quit
	END WITH
SET objXL = Nothing
On modifie notre job en ajoutant un troisième composant : un "tJava". Comme l'exécution de la MACRO devrait se faire normalement après la fin du remplissage du fichier, on va alors lier le "tFileInputDelimited" avec le "tJava" par un lien "OnSubJobOk", ce qui nous donne ceci :

image
Voilà ! C'était ça l'astuce : lancer notre VBScript avec du code JAVA qui ressemblerait à ça :
Runtime.getRuntime().exec("cmd /c start C:\\Users\\ELHASSMU\\Desktop\\tuto Talend\\MonVBScript.vbs");
Finalement, on lance l'exécution de notre job. Si tout se passe bien, notre console affichera le message suivant :

image
Et une petite fenêtre s'ouvrira pour nous demander si on veut ou non sauvegarder les changements apportés au fichier Excel :

image
On clique sur "Oui", bien sûr, puis on ouvre notre fichier Excel pour voir que la MACRO s'est bel et bien exécutée et que la mise en forme est en place :

image

V. Conclusion

Merci d'avoir lu tout ce document :). J'espère qu'il a pu aider quelques-uns de ses lecteurs, au moins pour les débutants sur TOS. Ceci dit, pour les gens qui souhaiteraient apprendre encore plus, je leur conseille d'aller sur le site officiel de Talend où il y'a plusieurs autres tutos très intéressants, sans oublier le forum sur Developpez où vous pouvez poser toutes vos questions !


VI. Remerciements

Un grand merci à ced pour la relecture orthographique.



               Version PDF   Version hors-ligne

Valid XHTML 1.0 TransitionalValid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
 
 
 
 
Partenaires

Hébergement Web