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:
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);
}
} |
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:
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:
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:
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:
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> |