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

Documents Java Discussion :

POI - Ecriture dans un fichier


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut POI - Ecriture dans un fichier
    Bonjour,
    J'éssaie de retranscrire dans un fichier excel des valeurs qui se trouvent dans une liste. Plus précisément 2 listes. La première contient les définitions ou nom des valeurs et la seconde leurs valeurs au sens propre du terme.
    Par exemple:
    - liste1.at(1) = "température" / liste2.at(1)= 25°
    - liste1.at(3) = "nom" / liste2.at(3)="jacques".

    Bref, j'essaie donc d'avoir dans mon tableau excel 2 colonnes et X lignes (X=taille de la liste), sachant qu'elles ont strictement la même taille.

    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
     
    public void SauveObjet(DetailsObjet d_o){
    		HSSFWorkbook wb = new HSSFWorkbook();
    		HSSFSheet sheet = wb.createSheet("Détails objet");
     
    		for (int i = 0; i<d_o.getLdef().size();i++){
    			HSSFRow row1 = sheet.createRow(i);
    			row1.createCell((short)0, HSSFCell.CELL_TYPE_STRING)
    			.setCellValue(new HSSFRichTextString(d_o.getLdef().get(i)));
    			HSSFRow row2 = sheet.createRow(i);
    			row2.createCell((short)2, HSSFCell.CELL_TYPE_STRING)
    			.setCellValue(new HSSFRichTextString(d_o.getLval().get(i)));
    		}
     
    		FileOutputStream fileOut;
    		try {
    				fileOut = new FileOutputStream("C:\\monfichier.xls");
    				wb.write(fileOut);
    				fileOut.close();
    		} catch (FileNotFoundException e) {
    			new MessageErreur(e.getMessage());
    		} catch (IOException e) {
    			new MessageErreur(e.getMessage());
    		}
    	}
    Là ou ça coince c'est que ça ne me crée qu'une colonne, dans ce cas-ci, la colonne des valeurs.
    La première colonne des définitions est vide. Et si je mets le remplissage de la seconde colonne en commentaire par exemple, j'obtiens bien dans mon fichier la colonne des définitions.

    J'avoue que je ne comprends pas très bien ce qui se passe surtout que je ne connais que très peu cet API.

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut
    Résolu...
    Un truc un peu con on va dire, il suffisait juste d'enlever la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     HSSFRow row2 = sheet.createRow(i);
    de mon code.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut Un autre problème
    Je reste dans le même topic car c'est le même sujet mais un autre problème.
    Je souhaite écrire dans un tableau, à partir d'une liste (toujours) mais cette fois-ci tout sur une seule ligne.

    La taille de ma liste est grande (plus de 400 éléments!!) or quand j'essaie de le remplir avec une boucle, ça me fait comme quoi l'indice de colonne est invalide (256). En gros j'ai dépassé la limite d'indice de colonne en nombre, il faut que j'attaque en lettre, et là je ne sais pas du tout comme "indicer" les colonnes en lettre.
    le bout de code qui m'embete donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    HSSFWorkbook wb = new HSSFWorkbook();
    		HSSFSheet sheet = wb.createSheet("Données converties");
    		HSSFRow row = sheet.createRow(0);
     
    		for(int i=0; i<ma_liste.size();i++){
    			row.createCell((short) i).setCellValue(new Float(ma_liste.get(i)));
    					}

  4. #4
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Microsoft Excel contient jusqu’à 65 536 lignes, 256 colonnes et 256 feuilles.
    Source : http://www.formaguide.com/article.php3?id_article=1042

    Donc je te propose de faire plutôt ton tableau vers le bas

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut
    Merci pour cette information
    Je vais faire comme tu me l'as dit je pense.

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

Discussions similaires

  1. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33
  2. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48
  3. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  5. Réponses: 2
    Dernier message: 26/09/2003, 14h51

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