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 :

Lire un fichier .csv


Sujet :

Documents Java

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut Lire un fichier .csv
    Bonjour a tous, mon titre n'est pas tous a fait excat en réalité je sais lire un fichier avec le code suivent:



    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
    try{
                InputStream ips=new FileInputStream(mFile);
                InputStreamReader ipsr=new InputStreamReader(ips);
                BufferedReader br=new BufferedReader(ipsr);
                String ligne;
                while ((ligne=br.readLine())!=null){
                    System.out.println(ligne);
                    String chaine = ligne + "";
                    String ligne2 = br.readLine();
                    String ligne3 = br.readLine();
                    String ligne4 = br.readLine();
                    String ligne5 = br.readLine();
                    String ligne6 = br.readLine();
                    String ligne7 = br.readLine();
                 //   textViewToChange.setText(
                            // "The new text that I'd like to display now that the user has pushed a button."
                 //          ligne2+ ".\n."+ ligne3+ ".\n."+ ligne4+ ".\n."+ ligne5+ ".\n."+ ligne6+ ".\n."+ ligne7+ ".\n.");
                     Log.d("Debug", String.valueOf(ligne2));
     
                }
                br.close();
            }
            catch (Exception e){
                System.out.println(e.toString());
            }
     
        }
    le fichier que je lit est un csv, et ce que je voudrait faire c'est pourvoir lire cellule par cellule plutôt que toute la ligne, ce qui me permettrait de pouvoir faire une sorte de mise en page dans mon application pour afficher le contenue des différente cellule comme je le souhaite!



    merci d'avance pour votre aide!!

  2. #2
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Bonjour der43e,

    Il faut t'orienter vers API jxl ou Apache POI pour gerer les fichier excel, et faire une listview et la classe ArrayAdapter pour personnaliser tes données.


    Cdlt
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut
    Resalut Kader15 et merci pour ton coup de main sur tous mes sujet

    alors comme je te l'ai dit sur l'autre sujet je suis débutant dans le domaine, quelle sont les différences entre ces deux module? y en a-il un qui ce démarque de l'autre?

    Merci d'avance!

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut
    Alors, je me suis laisser tenter pas POI d’après ce que j'ai pu voir une majorité des gens travail plutôt avec celui ci!

    mainteneant j'ai un souci pour sont utilisation,

    voici mon code de test pour lire le contenue de mon fichier

    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
    try {
                    String mFileopen = "Intervention_du23_8_16_Lutte contre le feux";
                    String mFile = (Environment.getExternalStorageDirectory().getPath()
                            + "/android/data/ch.srvinfo.interfire.interfire/files/"+mFileopen+".csv");
                    Log.d("Debug", String.valueOf(mFile));
                    FileInputStream fileInputStream = new FileInputStream(mFile);
                    HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
                    HSSFSheet worksheet = workbook.getSheet("in");
                    HSSFRow row1 = worksheet.getRow(0);
                    HSSFCell cellA1 = row1.getCell((short) 0);
                    String a1Val = cellA1.getStringCellValue();
                    HSSFCell cellB1 = row1.getCell((short) 1);
                    String b1Val = cellB1.getStringCellValue();
                    HSSFCell cellC1 = row1.getCell((short) 2);
                    boolean c1Val = cellC1.getBooleanCellValue();
                    HSSFCell cellD1 = row1.getCell((short) 3);
                    Date d1Val = cellD1.getDateCellValue();
                    Log.d("Debug", String.valueOf(a1Val));
                    System.out.println("A1: " + a1Val);
                    System.out.println("B1: " + b1Val);
                    System.out.println("C1: " + c1Val);
                    System.out.println("D1: " + d1Val);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    mais avec mon " Log.d("Debug", String.valueOf(a1Val));" je n'ai rien qui ressort... aurais tu une idée de ce que je faite de faux?

  5. #5
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Salut der43e,

    Je pense qu'il n'arrive pas à trouver le chemin de ton fichier essaye de mettre ".toString()" à la place de ".getPath()"

    Si tu obtiens des erreurs, publie les.

    Cdlt,
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

  6. #6
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut
    Salut Kader15,

    Alors j'ai fini par abandonné cette methode et je passe maintenent par ce code ci:

    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
        private void readExcelFile(Context context, String filename) {
     
            if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) {
                Log.w("FileUtils", "Storage not available or read only");
                return;
            }
     
            try {
                // Creating Input Stream
                File file = new File(context.getExternalFilesDir(null), filename);
                FileInputStream myInput = new FileInputStream(file);
     
                // Create a POIFSFileSystem object
                POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
     
                // Create a workbook using the File System
                HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
     
                // Get the first sheet from workbook
                HSSFSheet mySheet = myWorkBook.getSheetAt(0);
     
                /** We now need something to iterate through the cells.**/
                Iterator<Row> rowIter = mySheet.rowIterator();
     
                while (rowIter.hasNext()) {
                    HSSFRow myRow = (HSSFRow) rowIter.next();
                    Iterator<Cell> cellIter = myRow.cellIterator();
                    while (cellIter.hasNext()) {
                        HSSFCell myCell = (HSSFCell) cellIter.next();
                        Log.w("FileUtils", "Cell Value: " + myCell.toString());
                        Toast.makeText(context, "cell Value: " + myCell.toString(), Toast.LENGTH_SHORT).show();
                        //final TextView textViewToChange = (TextView) findViewById(R.id.affichage);
                       // textViewToChange.setText((CharSequence) myCell);
                        Log.d("Debug", String.valueOf(myCell));
     
                    }
     
                }
     
     
            } catch (Exception e) {
                e.printStackTrace();
            }
     
            return;
        }
    ce qui fonctionne très bien,

    mais maintenent je voudrait savoir comment exploité les resultat obtenu dans ma variable myCell pour l'afficher dans mon application aurais tu une idée?

    car quand je regarde le contenu de ma variable j'ai bien les résultat mais je ne sais pas comment les afficher....

    Merci d'avance

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2013
    Messages : 21
    Points : 25
    Points
    25
    Par défaut séparateur
    Bonjour
    pour bien parser un fichier .csv tu dois utiliser un séparateur
    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
     
    try {
                String line;
                while ((line = br.readLine())!=null){
                    String[] row = line.split(",");
                    resultList.add(row);
     
     
     
                }
     
            } catch (IOException e) {
                e.printStackTrace();
            }
            return resultList;
            }
    dans ce cas chaque donnée sera dans une cellule de ton tableau et tu pourras l'utiliser comme tu veux, le séparateur utilisé étant une virgule mais ça peut très bien être autre chose

  8. #8
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut
    Merci a tous pour vos réponse j'ai finalement procéder d'une autre manière en utilisent POI et en lisent et écrivent des fichier xls!

    je passe donc le sujet en résolut!

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

Discussions similaires

  1. Lire un fichier .csv sous unix
    Par bslota dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 21/11/2007, 17h41
  2. Ouvrir et lire un fichier .csv
    Par Art19 dans le forum Composants VCL
    Réponses: 20
    Dernier message: 12/08/2007, 23h18
  3. Lire un fichier CSV ou XLS de la même manière
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/07/2007, 15h12
  4. Réponses: 12
    Dernier message: 12/04/2006, 10h20
  5. Lire un fichier CSV/XLS
    Par Doneve dans le forum ASP
    Réponses: 3
    Dernier message: 04/10/2005, 17h34

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