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 :

Comment connaitre la dernière ligne d'un classeur Excel avec le module Spreadsheet-WriteExcel-1.01.


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 121
    Points : 64
    Points
    64
    Par défaut Comment connaitre la dernière ligne d'un classeur Excel avec le module Spreadsheet-WriteExcel-1.01.
    Bonjour à toutes et à tous,

    J'utilise le module Perl Spreadsheet-WriteExcel-1.01.
    Est-ce que vous savez comme je peux obtenir le numéro de la dernière ligne remplie de mon fichier Excel généré par Spreadsheet-WriteExcel-1.01.
    Merci pour votre aide.

    Cordialement
    Dimitri.

  2. #2
    Membre confirmé
    Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Points : 641
    Points
    641
    Par défaut
    Citation Envoyé par dimitri13 Voir le message
    J'utilise le module Perl Spreadsheet-WriteExcel-1.01.
    ??? Avec quelle version de perl ? Cette version date de 2004, le développement de Spreadsheet-WriteExcel s'est arrêté en 2013 avec la 2.40 pour passer à Excel::Writer::XLSX ...
    Est-ce que vous savez comme je peux obtenir le numéro de la dernière ligne remplie de mon fichier Excel généré par Spreadsheet-WriteExcel-1.01.
    Là tu as accès directement au programme de génération, donc regarde/capture l'indice de ligne maximum utilisé par les fonctions write_...

    Sinon, utilise Spreadsheet::ParseExcel et quelque chose comme (non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
    use Spreadsheet::ParseExcel;
    for my $filename (@ARGV) {
      my $parser   = Spreadsheet::ParseExcel->new();
      my $workbook = $parser->parse($filename) or die $parser)->error();
      for my $worksheet ( $workbook->worksheets() ) {
        my ( $row_min, $row_max ) = $worksheet->row_range();
        ...
      }
    }
    Sauf indication contraire tous les codes que je présente sont utilisables et testés (mais sans garantie d'aucune sorte)
    J'apporte beaucoup de soin à la rédaction de mes posts et apprécie les retours donc merci de s'il vous paraissent pertinents ou utiles
    Lazyness, Impatience and Hubris are good for you

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par cmcmc Voir le message
    ??? Avec quelle version de perl ? Cette version date de 2004, le développement de Spreadsheet-WriteExcel s'est arrêté en 2013 avec la 2.40 pour passer à Excel::Writer::XLSX ...

    Là tu as accès directement au programme de génération, donc regarde/capture l'indice de ligne maximum utilisé par les fonctions write_...

    Sinon, utilise Spreadsheet::ParseExcel et quelque chose comme (non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
    use Spreadsheet::ParseExcel;
    for my $filename (@ARGV) {
      my $parser   = Spreadsheet::ParseExcel->new();
      my $workbook = $parser->parse($filename) or die $parser)->error();
      for my $worksheet ( $workbook->worksheets() ) {
        my ( $row_min, $row_max ) = $worksheet->row_range();
        ...
      }
    }
    Bonjour cmcmc,

    Merci pour ta réponse. Par contre je une autre question. Dans mon fichier Excel, je la cellule (9,9) ou j'écris une valeur. Je voudrais récupérer cette valeur.
    Pour le faire, j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	my $cell = $preco->get_cell(9, 9);
    	next unless $cell;
    	$valeur = $cell->value();
    	$preco->write(10,10, $valeur);
    A la fin du script, il n'y a rien sur la cellule (10,10).
    Est-ce que je besoin de parcourir le fichier Excel, ou je peux aller directement sur la cellule qui m'intéresse ?

    Merci beaucoup
    Dimitri

Discussions similaires

  1. Récupérer la dernière ligne de mon classeur Excel
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/05/2007, 08h53
  2. Réponses: 1
    Dernier message: 26/03/2007, 05h37
  3. Comment lire la dernière ligne d'un fichier text.
    Par Ardely dans le forum Delphi
    Réponses: 29
    Dernier message: 20/01/2007, 23h29
  4. Réponses: 4
    Dernier message: 15/06/2006, 13h31
  5. [VBA-E]comment trouver la dernière ligne contenan
    Par couscoussier dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/03/2006, 16h53

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