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

Java Discussion :

IllegalArgumentException: Invalid row number


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 37
    Points
    37
    Par défaut IllegalArgumentException: Invalid row number
    Salut les amis,
    Je travaille sur une application java (java desktop application) avec netbeans, et dans laquelle je dois générer le contenu d'une table Mysql dans un fichier excel. Le programme marche très bien, mais lorsque le nobre de ligne à générer est trop grand j'ai l'erreur suivante:
    java.lang.IllegalArgumentException: Invalid row number (-32768) outside allowable range (0..65535)

    Voici un aperçu du code utilisé :
    .....
    int index=1;
    while(res.next())
    {
    HSSFRow row = sheet.createRow((short)index);
    row.createCell((short) 0).setCellValue(res.getString(1));
    .......
    ........
    }

    ......

    Je crois que le problème vient au niveau index !!!?? Qu'en dites vous??
    Aidez moi svp.
    Merci d'avance les amis.

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Salut,

    Ton probleme vient du cast de index en short. Un short est sur 16 bits et signé donc a une valeur entre -32768 et 32767.
    Un int est sur 32 bits et peut depasser 32767.

    Quand ton index arrive à 32768, en hexa, ca donne 0x8000, et si tu cast en short, ca donne -32768 (d'ou ton exception).
    A en juger par le texte de l'exception que tu as, il semble que ton index puisse depasser 32767 donc la fonction createRow doit plutot accepter un int que un short. Si tu supprime ce cast, qui ne semble servir qu'à créer des bugs, tu ne devrais plus avoir d'erreur (tant que tu ne depasse pas les 65535 lignes ;-) ).

    Pour résumer, il semble que ton nouveau fichier excel soit simplement plus gros que l'ancien...

    a+

Discussions similaires

  1. [PDO] Invalid parameter number
    Par Kel-T dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/07/2010, 14h12
  2. Réponses: 6
    Dernier message: 03/06/2010, 10h09
  3. Réponses: 3
    Dernier message: 25/08/2009, 23h25
  4. Réponses: 10
    Dernier message: 30/04/2008, 16h16
  5. Oracle 7 -> Oracle 8 : "Invalid Row Id"
    Par gmartintin dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/10/2004, 11h39

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