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

Langage Perl Discussion :

Pb Excel / Csv


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut Pb Excel / Csv
    Bonjour. Voilà, j'ai un soucis avec mon script de Perl. Il a pour but de récupérer des données d'un fichier excel et de les retranscrire dans un fichier csv. Mon souci est au niveau de la récupération des données. Ils me les retranscrit bien, mais pas qu'une fois, il le fait plusieurs fois, il boucle les données une quinzaine de fois alors que je veux qu'il le fasse qu'une fois.
    Pour moi, il y a un soucis au niveau des boucles, mais je n'arrive pas à le corriger et comme je débute en programmation, ça commence à me prendre la tête.
    Je vous mets ci-dessous mon code. Merci de vouloir y jeter un oeil.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #!C:/Perl/bin/perl.exe
    use strict;
    use Spreadsheet::ParseExcel;
    use Spreadsheet::WriteExcel;
    use Win32::OLE qw(in with);
    use Win32::OLE::Const 'Microsoft Excel';
    my $excel_in = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
    my $book = $excel_in->Workbooks->Open("C:\\Clients\\Systeme_U\\marketing_distinctif\\produits_SU1107.xls");
    my $sheet = $book->Worksheets(1);
    my $array1 = $sheet->Range("A3:A167" )->{'Value'};
    my $array2 = $sheet->Range("B3:B167" )->{'Value'};
    my $sheet2 = $book->Worksheet(2);
    $book->Close;
    foreach my $ref_array1 (@$array1) {
    foreach my $ref_array2 (@$array2) {
    foreach my $scalar1 (@$ref_array1) {
    foreach my $scalar2 (@$ref_array2) {
    my $ligne=0;
    foreach my $word1 ( split(' ',$scalar1) ) {
    foreach my $word2 ( split(' ',$scalar2) ) {
    print "$word1;$word2\n";
    my $fichier= "C:\\Clients\\Systeme_U\\marketing_distinctif\\produits_SU1107.csv";
    open F, ">>$fichier"; # ouverture en ajout dans un fichier existant
    print F "$word1;$word2\n"; # écriture de $chaine dans le fichier
    }
    }
    $ligne++;
    }
    			}
    }			
    }
    close F;
    print "File Completed\n";
    system("pause");

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut
    Allez les amis, aidez-moi ? Help

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Commence par faire l'effort d'indenter ton code correctement. Visiblement tu as des boucles foreach imbriquées et tu fais donc un produit cartésien au lieu de faire un parcours en parallèlle des A et des B comme tu en avais sans doute l'intention.

    --
    Jedaï

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/02/2006, 14h26
  2. [CSV] Imports Excel CSV à reformater
    Par boteha dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 21h41
  3. Exporter des données d'un requete SQL vers excel (csv)
    Par PrinceMaster77 dans le forum ASP
    Réponses: 9
    Dernier message: 08/10/2005, 22h28
  4. [Excel] Excel et csv
    Par gledoux dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 01/08/2005, 14h45
  5. Import Excel / CSV
    Par aston_max dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 04/07/2004, 23h31

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