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

Collection et Stream Java Discussion :

Construction Fichier CSV sous forme de tableau


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 139
    Points : 59
    Points
    59
    Par défaut Construction Fichier CSV sous forme de tableau
    Bonjour à toutes et à tous

    Je voudrai avoir en sortie un fichier CSV sous forme de tableau comme excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Personne
       public String  nom;
       public Voiture voiture
     
       public Personne(String nom, Voiture v){
           this.nom=nom;
           this.voiture=v;
     }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Voiture {
       public String nom;
       public Marque marque;
       public Voiture(String nom,Marque m){
           this.nom=nom;
           this.marque=m;
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Marque {
         public String nom;
         public Marque(String nom){
            this.nom=nom;
         }
    }
    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
    public class FileDemo {
     
    	List<Personne> listsP = new ArrayList<Personne>();
     
            private void recapGlobalCSV() throws IOException {
               File csvFile = new File("C:\\recapGlobalResynchro.csv");
               PrintStream ficOut = null;
               if (!csvFile.exists()) {
                try {
                    csvFile.createNewFile();
                    ficOut = new PrintStream(new FileOutputStream(csvFile, true));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            StringBuffer pltf= new StringBuffer(";");
            for (Personne p: listsP ) {
            	pltf.append(p.voiture.marque.nom + ";");
     
     
            }
            ficOut.print(pltf);
            ficOut.println();
        }
     
    	public String retrieveEquivalent(String marque){
    		StringBuffer fic = new StringBuffer();
                     boolean find= false;
                    for (Personne p: listsP ) {
                 if(p.voiture.marque.nom(marque) && !find){
                	fic.append(p.voiture.marque.nom + ";");
                    find=true;
                }     
            }
            return fic.toString();
        }
            public static void main(String[] args) {
     
             FileDemo file= new FileDemo();
     
    	   Marque m1 = new Marque ("Renault");
    	   Voiture v1 = new Voiture ("Megane",m1);
     
    	   Marque m2 = new Marque ("Citroen");
    	   Voiture v2 = new Voiture ("Xara",m2);
     
    	   Marque m3 = new Marque ("Mercedes");
    	   Voiture v2 = new Voiture ("CLK",m3);
     
    	   Personne p1= new Personne ("Dupont",v1);
    	   Personne p2= new Personne ("Durant",v2);
    	   Personne p3= new Personne ("TOTO",v3);
     
    	   file.listsP .add(p1);
    	   file.listsP .add(p2);
    	   file.listsP .add(p3);
     
    	   try {
    		file.recapGlobalCSV();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    Je veux produire un fichier CSV de la sorte :



    Nom : Untitled.png
Affichages : 294
Taille : 5,0 Ko
    Cordialement

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Rien avoir avec ton code. Par contre tu devrais peut être mettre un trim sur les valeurs de chaque cellule avant l'écriture car il y'a des espaces en trop dans le fichier csv que tu crées. (ainsi que le premier ; que tu sembles écrire a l'ouverture de ton fichier et qui ne sert a rien)

    Le problème se situe quand tu ouvres ton fichier avec ton tableur car tu ne mets pas les bonnes options.

    Avec openoffice, pour voire ton fichier tel qu'il est vraiment et dans l'état calamiteux actuel , tu dois mettre ces settings :

    Nom : exemple.jpg
Affichages : 340
Taille : 75,2 Ko

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 139
    Points : 59
    Points
    59
    Par défaut
    Merci Wax

    Je dois pas m'occuper de l'importation sous openOffice ou Excel
    Mon but est de generer le fichier CSV de la sorte.
    La typiquement c'est un probleme algorithmique.
    Merci

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Je vois que tu as modifié ta question par rapport au début... Ce que tu laissé sous entendre en ayant affiché le fichier CSV généré et ce que je voyais lors de l'import de celui ci donnait ce que ton image montrait et donc j'ai répondu en conséquence.

    Mais a l'heure actuelle je ne vois pas de problème algorithmique dans ton cas quoiqu'il en soit. Si tu veux une "case vide" n'écrit rien dans ton fichier pour cette case pour avoir un fichier comme celui ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ;Dupont;Durand;Toto;
    Voiture;Megane;Xsara;CLK;
    Marque;Renault;Citroen;Mercedes;

Discussions similaires

  1. [XL-2010] Lister dossiers sousdossiers fichiers / liens hypertextes sous forme de tableau
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2014, 12h17
  2. Réponses: 3
    Dernier message: 06/08/2013, 14h20
  3. Réponses: 5
    Dernier message: 04/05/2009, 23h47
  4. Affichage graphique sous forme de tableau.
    Par eulone dans le forum C++
    Réponses: 2
    Dernier message: 24/11/2004, 20h34
  5. XSL pour visualiser arbre XML sous forme de tableau en HTML
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 28/03/2003, 10h55

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