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 :

Extraction de donnees a partir d'un fichier excel


Sujet :

Modules Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut Extraction de donnees a partir d'un fichier excel
    J'ai deja un autre post mais qui demeurens reponse : j'espere etre plus clair :

    Je souhaite extraire des donnees a partir d'un classeur Excel pour les ecrire dans un autre fichier excel tout en conservant les formats et les formules :

    Je ne comprend pas trop ce que dit le error_log !

    error_log : [Tue Jul 25 16:25:40 2006] [error] [client 127.0.0.1] [Tue Jul 25 16:25:40 2006] test.pl: Can't locate object method "get_xf_index" via package "Spreadsheet:arseExcel::Format" at /opt/lampp/lib/perl5/site_perl/5.8.6/Spreadsheet/WriteExcel/Worksheet.pm line 1210., referer: http://localhost/xampp/test.pl

    Voici mon code :

    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
    for($iSheet=0; $iSheet < $oBook->{SheetCount}; $iSheet++)
    {
    	$oWkS = $oBook->{Worksheet}[$iSheet];
    	# Si le nom de la feuille recherchee est trouvee, on va parcourir l'etendue des lignes et des colonnes
    	# pour recopier toutes les informations du document source
    	if ($oWkS->{Name} eq $valeur)
    	{
    		# Definition de la variable qui va recuperer le contenu d'une cellule du document source
    		my $cellule = 0;
    		# Boucle qui recupere les donnees dans la feuille source et les copie dans la feuille de destination
    		# a) On parcourt les lignes
    		for($iR = $oWkS->{MinRow} ;
    			defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
    			$iR++)
    		{
    			# b) on parcourt les colonnes
    			for($iC = $oWkS->{MinCol} ;
    				defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
    				$iC++)
    			{
    				# on recupere le contenu de la cellule pour le stocker dans une variable
    				# qui sera copiee dans la feuille de destination
    				$oWkC = $oWkS->{Cells}[$iR][$iC];
    				$cellule = $oWkC->Value if($oWkC);
    				$format = $oWkC->{Format} if ($oWkC);
    				$Sheet->write($iR, $iC, $cellule, $format);
    			}
    		}
    	}
    }

    Si je mets Value entre "{}", cela n'ecrit rien dans mon fichier excel et je n'ai rien dans le error_log.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    est-ce que tu sais à quel moment ton programme plante?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    ca plante a ce niveau la :

    $format = $oWkC->{Format} if ($oWkC);

    Je voudrais pouvoir extraire les formules qui sont dans mon classeur excel source pour les ecrire dans mon fichier excel de destination.
    et idem pour les formats.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    je ne suis pas un expert, mais j'utilise le code ci dessous pour manipuler les fichier excel (lecture et écriture) au cas où ça peut te rendre service


    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
     
    use Spreadsheet::ParseExcel::Simple;
    use Win32::OLE qw(in with);
    use Win32::OLE::Const 'Microsoft Excel';
    $Win32::OLE::Warn = 3;         
    #
    # get already active Excel application or open new
    my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');  
    # open Excel file
    my $Book = $Excel->Workbooks->Open("C:/fichier.xls"); 
     
    my $Sheet = $Book->Worksheets(3);
     
    #pour lire une cellule
    $cellule=$Sheet->Cells($row,$col)->{'Value'};
     
    #pour écrire dans une cellule
    $Sheet->Cells($row, $col+2)->{'Value'} = $valeur;

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    yep ! Je fais a peu pres pareil mais j'aurai voulu pouvoir extraire la formule excel s'il y en a une.
    par ex : =A3*C2

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    excuse moi de répondre tardivement car j'étais en vacances. as-tu trouvé une solution à ton pb?

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    nan toujours pas !
    Je suis parti un peu en vacances alors je l'avais mis de cote. Mais la j'y planche tjs donc i vous avez des news pour m'eclairer c'est bien venu

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/07/2020, 19h50
  2. extraction de données a partir d'un fichier XML
    Par spyder14 dans le forum PL/SQL
    Réponses: 5
    Dernier message: 19/11/2010, 10h05
  3. Extraction des champs a partir d'un fichier excel
    Par adihoub dans le forum Pentaho
    Réponses: 2
    Dernier message: 20/02/2010, 15h35
  4. Extraction à partir d'un fichier Excell ou d'un Fichier plat
    Par Sam2009 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 01/09/2009, 09h55
  5. Tri de donnee a partir d un fichier txt
    Par christophe.nz dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/04/2009, 23h03

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