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 :

Lecture de toutes les cellules d'une feuille excel


Sujet :

Développement de jobs

  1. #1
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut Lecture de toutes les cellules d'une feuille excel
    Bonjour amis talentueux,

    J'ai 2000 fichiers Excel avec chacun 38 lignes et 7 colonnes.

    Pour chaque fichier je voudrais charger une table postgresql de la façon suivante :

    contenu de la cellule A1 dans un champ a1
    contenu de la cellule A2 dans un champ a2
    ...
    ...
    contenu de la cellule G38 dans un champ g38

    Je mets chaque champ de la table en type text , je m'arrangerai après.

    Je vois une première façon d'opérer mais qui est très lourde : faire 38 composants tFileInputExcel , soit 1 par ligne.

    Y a-t-il plus simple ?

    Merci d'avance pour vos propositions

    J'ai mis un exemple de fichier excel en pièce jointe
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Sur Talend Exchange, il y a une famille de composant Excel dont l'un fonctionne par cellule. Je n'ai pas tester ces composants et je ne sais pas ce qu'ils valent. Je pense que cela vaut le coup de regarder a la vue de ton fichier qui est en fait un formulaire.


    Sinon pour répondre a la question voila ce que tu peux faire :

    tFileInputExcel pour lire ton ficheir
    tAggregateRow avec 7 colonne en sortie avec la fonction liste sans clef de group by, cela permet de mettre sur 1 ligne dans des colonnes multivalué tout ton fichier

    7 tExtracDelimitedField pour parser ces 7 colonnes multivalué dans des colonnes normal.
    Dans la première colonne tu auras les valeurs des cellule A1 a A38, dans la seconde B1 a B38 ....

  3. #3
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    Merci Emenuet pour la réponse.

    J'ai d'abord essayé avec tFileExcelReferencedCellInput qui a l'air sympa.

    J'ai installé le composant tFileExcelReferencedCellInput ( à installer avec le composant tFileExcelWorkbookOpen ) mais je n'arrive pas à voir comment cela fonctionne. J'ai envoyé un mail au rédacteur de ces 2 composants. pas de réponse pour l'instant.

    J'ajoute en pièce jointe la sortie que je souhaiterais : un fichier csv (si j'arrive en csv alors pas de pb avec postgresql après ) :
    - 1 ligne par fichier xls
    - 266 colonnes de A1 --> A38 ... G1 --> G38 (j'ai seulement rempli les colonnes A1 and B1 pour cet exemple , l'idée étant de charger toutes les cellules)

  4. #4
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    j'ai renommé sortie.csv en sortie.txt car message d'erreur du site developpez.net si fichier joint csv
    Fichiers attachés Fichiers attachés

  5. #5
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    Finalement j'ai changé mon fusil d'épaule : pour chaque fichier excel je crée autant de lignes dans ma table que de lignes dans le fichier excel.

    J'aurai donc en sortie :
    - une colonne avec le nom du fichier excel
    - une colonne avec le numéro de ligne excel dans chaque fichier excel ( de 1 à 38 pour chaque fichier excel )
    - 7 colonnes ( col1 à col7 , de type texte , avec le contenu des cellules 1 à 7 de la ligne excel en cours )


    J'ai mis une capture d'écran du job

    Points techniques :
    - nom du fichier : ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) --> mis dans le tFileInputExcel et dans le tMap
    - numéro de ligne : CustomNumeric.sequence("s1",1,1) --> mis dans le tMap

    dans le tJava je remets à zéro mon compteur de lignes excel : CustomNumeric.resetSequence("s1",0);
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélectionner toutes les images d'une feuille Excel
    Par Momo143 dans le forum Excel
    Réponses: 4
    Dernier message: 21/01/2015, 09h53
  2. [EG] Ecrire dans les cellules d'une feuille Excel depuis SAS
    Par MDsas dans le forum Outils BI
    Réponses: 12
    Dernier message: 15/12/2011, 17h35
  3. Réponses: 1
    Dernier message: 29/01/2010, 16h38
  4. Réponses: 2
    Dernier message: 20/02/2008, 18h08
  5. [VBA-E] supprimer le contenu de toutes les cellules d'une feuille
    Par BipBip2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2004, 15h13

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