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

Modules Perl Discussion :

problème étrange avec excel


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 57
    Points
    57
    Par défaut problème étrange avec excel
    j'ai déja poster se message ailleur sans répondse pour le moment donc je la pose ici aussi:
    Donc voila, j'ai un problème hier mon code marchai nikel, aujourd'hui je le relance et pouf il marche plus: aider moi s'il vous plai:

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    # !usr/perl/bin/
    # Modules nécessaires
    use strict;
    use Spreadsheet::WriteExcel;
    use warnings;
    use Win32::OLE qw(in with);
    use CGI::Carp qw(fatalsToBrowser);
    use Win32::OLE::Const 'Microsoft Excel';
    $Win32::OLE::Warn = 3;
    use Cwd;
     
    my $dir = cwd;
    chdir $dir;
     
    my @ListeXLS = <*.xls>;
          foreach my $xls (@ListeXLS)
          {
          print "$xls";
    # Création d'une nouvelle instance du package pour Excel
    my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');
    # Ouverture du fichier Excel "C:\\stat.xls"
    my $Book = $Excel->Workbooks->Open("$xls") || die "Fichier non trouvé";
     
    # Affectation du 1er classeur à la variable $Sheet
    my $Sheet = $Book->Worksheets(1);
    # Récupération des valeurs de toutes les cellules comprises entre B2 et B10
    my $array = $Sheet->Columns(81)->{'Value'}; # get the contents
    # Récupération des valeurs de toutes les cellules comprises entre A2 et A10
    my $array2 = $Sheet->Columns(1)->{'Value'}; # get the contents
    $Book->Close;
     
    $xls =~ s/.xls/ org.txt/;
     
     
    my $scalar2="01";
    my @indent;
    my $z;
    foreach my $ref_array2 (@$array2) {
           # Parcours de chaque ligne
           foreach $scalar2 (@$ref_array2) {
              if ($scalar2 eq $z){
                  goto FINBOUCLE;
              }
              else{
                  push (@indent,$scalar2);
              }
           }
    }
    FINBOUCLE:
     
    my $j=0;
    # Affichage de ces valeurs
    foreach my $ref_array (@$array) {
           # Parcours de chaque ligne
     
           foreach my $scalar (@$ref_array) {
                 # Parcours
                  print "--------------------------------------------------------\n";
                  if($indent[$j]){
                      if ($scalar eq "")
                      {
                          open F, ">>$xls"; # ouverture en ajout dans un fichier existant
                          print F "$indent[$j]	";
                          print F "no patentee\n"; # écriture de $word dans le fichier
                      }
                      else{
                          foreach my $word ( split(';',$scalar) ) {
                              print "$indent[$j]  ";
                              print "$word\n";
                              open F, ">>$xls"; # ouverture en ajout dans un fichier existant
                              print F "$indent[$j]	";
                              print F "$word\n"; # écriture de $word dans le fichier
                          }
                      }
                  $j++;
                  }
                  else{goto FINFIC;}
     
           }
     
    }
    close F;
    FINFIC:
    }



    l'erreur est à l'ouverture du fichier et renvoi ceci:

    [Thu Jun 15 10:14:24 2006] extract_org.pl: OLE exception from "Microsoft Office Excel":
    [Thu Jun 15 10:14:24 2006] extract_org.pl:
    [Thu Jun 15 10:14:24 2006] extract_org.pl: 'convertir.xls' introuvable. Vérifiez l'orthographe du nom du classeur et la
    [Thu Jun 15 10:14:24 2006] extract_org.pl: validité de l'emplacement.
    [Thu Jun 15 10:14:24 2006] extract_org.pl:
    [Thu Jun 15 10:14:24 2006] extract_org.pl: Si vous essayez d'ouvrir le fichier à partir de la liste des fichiers les
    [Thu Jun 15 10:14:24 2006] extract_org.pl: plus récents, assurez-vous que le fichier n'a pas été renommé, déplacé ou
    [Thu Jun 15 10:14:24 2006] extract_org.pl: supprimé.
    [Thu Jun 15 10:14:24 2006] extract_org.pl:
    [Thu Jun 15 10:14:24 2006] extract_org.pl: Win32::OLE(0.1702) error 0x800a03ec
    [Thu Jun 15 10:14:24 2006] extract_org.pl: in METHOD/PROPERTYGET "Open" at extract_org.pl line 22

    le fichier existe bien sur.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    j'ai trouver désoler:

    my $Book = $Excel->Workbooks->Open("$xls") || die "Fichier non trouvé";

    deviens:

    my $Book = $Excel->Workbooks->Open("$dir/$xls") || die "Fichier non trouvé";

    bizar quand même hier ca marchais comme ca

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 04/04/2007, 15h34
  2. Problème étrange avec DBM::Deep
    Par scaleo dans le forum Modules
    Réponses: 3
    Dernier message: 23/03/2007, 11h51
  3. Problème étrange avec un integer
    Par Pedro dans le forum Delphi
    Réponses: 6
    Dernier message: 05/12/2006, 22h08
  4. Problème étrange avec DecimalSeparator ?
    Par MaTHieU_ dans le forum Delphi
    Réponses: 2
    Dernier message: 13/07/2006, 10h14
  5. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 16h41

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