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

Composants graphiques Android Discussion :

Afficher un Excel avec une listeView


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    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
    Par défaut Afficher un Excel avec une listeView
    Bonjour,

    Voilà j'arrive à afficher une liste de String avec listView jusque là tout va bien.
    J'arrive aussi a afficher les données d'un fichier excel.

    Mais je n'arrive pas à afficher les données de mon fichier Excel sous un format de listView.

    Si quelqu'un peut m'aider, son aide est la bienvenue, je débute et je commence à désespérer.

    Merci d'avance.
    Cordialement.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    public class DisplayMyCoProd extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.display_my_co_prod);
     
            ListView listView = (ListView)findViewById(R.id.display_listview);
     
            String[] values = new String[]{"One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"};
     
     
            //read excel file
            try{
                AssetManager am = getAssets();
                InputStream is = am.open("PHPFile.xls");
                Workbook wb = Workbook.getWorkbook(is);
                Sheet s = wb.getSheet(0);
                int row = s.getRows();
                int col = s.getColumns();
                String xx="";
     
                for(int i=0; i<row; i++)
                {
                    for(int c=0; c<col; c++)
                    {
                        Cell z = s.getCell(c,i);
                        xx = xx + z.getContents();
                    }
                    xx=xx+"\n";
                }
                display(xx);
            }
            catch (Exception e){
     
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
            listView.setAdapter(adapter);
        }
     
     
     
        public void display(String value){
     
            TextView x = (TextView)findViewById(R.id.PHP);
            x.setText(value);
        }
    }

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Par défaut
    Salut,

    D'après ton 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
    26
    27
    28
    29
    30
     
      ...
     //read excel file
            try{
                AssetManager am = getAssets();
                InputStream is = am.open("PHPFile.xls");
                Workbook wb = Workbook.getWorkbook(is);
                Sheet s = wb.getSheet(0);
                int row = s.getRows();
                int col = s.getColumns();
                String xx="";
     
                for(int i=0; i<row; i++)
                {
                    for(int c=0; c<col; c++)
                    {
                        Cell z = s.getCell(c,i);
                        xx = xx + z.getContents();
                    }
                    xx=xx+"\n";
                }
                display(xx);
            }
            catch (Exception e){
     
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
            listView.setAdapter(adapter);
        }
    }
    Tu arrive à récupérer toutes les lignes de ton tableau Excel que tu met ensuite dans une seule variable de type String séparées par des "\n".

    Tu peux maintenant récupérer ces lignes dans un tableau -à l'image de String[] values- avec lequel tu construit ton Adapter.

    Cela revient à faire tout simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            String[] string_from_sheet = xx.split("\n");
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, string_from_sheet);
            listView.setAdapter(adapter);
    ___salut !

  3. #3
    Membre confirmé Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    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
    Par défaut Read Excel listView Custom
    Tout d'abord merci infiniment de votre réponse, cela m'a permis de mieux comprendre mon code.

    La listView a fonctionné, mais j'aimerai la personnaliser.

    J'ai crée mon constructeur, j'ai fait son adapter ainsi que les .xml, cependant je n'arrive pas à récupérer les données des cellules.

    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
    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
     
    public class DisplayMyCoProd extends Activity {
     
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.display_my_co_prod);
     
            ArrayList<Locom> myList = new ArrayList<Locom>();
            Locom a;
            a = new Locom("Engin","Visite");
     
            try {
                AssetManager am = getAssets();
                InputStream is = am.open("PHPFile.xls");
                Workbook wb = Workbook.getWorkbook(is);
                Sheet sheet = wb.getSheet(0);
                int row = sheet.getRows();
                int col = sheet.getColumns();
     
                String xx = "";
     
                for (int i = 15; i < row; i++) {
                    for (int c = 0; c < col; c++) {
                        Cell cell = sheet.getCell(c, i);
                        switch (col) {
                            case 1:
                                a.setEngin(cell.getContents());
                                break;
     
                            case 2:
                                a.setVisite(cell.getContents());
                                break;
     
                            default:
                                break;
                        }
                        xx = xx + cell.getContents();
                    }
                    myList.add(a);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
     
     
            LocomAdpater dataAdapter = new LocomAdpater(this, myList);
     
            ListView listView = (ListView) findViewById(R.id.display_listview);
            listView.setAdapter(dataAdapter);
     
        }
     
    }
    Locom.java

    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
     
    public class Locom {
     
        private String engin = null;;
        private String visite = null;;
     
        //Constructeur
        public Locom(String engin, String visite) {
            super();
            this.engin = engin;
            this.visite = visite;
        }
     
        //set/get
        public String getEngin() {
            return engin;
        }
     
        public void setEngin(String engin) {
            this.engin = engin;
        }
     
        public String getVisite() {
            return visite;
        }
     
        public void setVisite(String visite) {
            this.visite = visite;
        }
    }
    LocomAdapter.java

    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
     
     
    public class LocomAdpater extends ArrayAdapter<Locom> {
        private Context context;
        private ArrayList<Locom> myLocom;
     
     
            public LocomAdpater(Context context, ArrayList<Locom> myLocom){
                super(context, 0, myLocom);
                this.context = context;
                this.myLocom = myLocom;
     
            }
     
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
     
                Locom locomPosition = this.myLocom.get(position);
     
                convertView = LayoutInflater.from(this.context).inflate(R.layout.custom_listview,null);
     
     
     
                //Fill the Engin/Visite
                TextView enginText = (TextView)convertView.findViewById(R.id.tv_engin);
                TextView visiteText = (TextView)convertView.findViewById(R.id.tv_visite);
     
     
     
                enginText.setText(locomPosition.getEngin());
                visiteText.setText(locomPosition.getVisite());
     
                return convertView;
            }
    }
    custom_listview.xml
    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
     
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
     
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_engin"
            android:text="Engin"
            android:textColor="#4bb6d6"
            android:textSize="20dp"/>
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_visite"
            android:text="Visite"
            android:textColor="#b30000"
            android:textSize="18dp"
            android:layout_marginLeft="30dp" />
     
     
    </LinearLayout>

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

Discussions similaires

  1. Sélection d'une feuille excel avec une listbox
    Par felibelle dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2022, 17h27
  2. Remplir une zone de liste Excel avec une requête Access (problème)
    Par Tontorise dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/05/2007, 14h26
  3. Réponses: 3
    Dernier message: 17/11/2006, 14h35
  4. Réponses: 3
    Dernier message: 23/09/2006, 15h19
  5. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14

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