Bonjour,
Je suis en train de réatiser un JTable qui propose un export excel quand on effectue un click droit sur celui-ci.
Un JTable etant créé à partir d'un 'Object [][] tableau' je comptais m'en servir pour réaliser l'export, c'est à dire bouclé sur celui-ci et faire un setCellValue( valeur) pour chaque valeur.
Seulement, le setCellValue ne gère pas les Object, je cherche donc un moyen de récupérer la Class de chaque objet, jusque là pas de problème mais quand je souhaite ensuite savoir si la class est boolean, String ou autre, je ne sais pas comment obtenir cette information....
Voilà le bout de code que j'ai pondu sans grande conviction car je suis certaine qu'il y a une solution bien plus propre...
Alors toi qui est porteur de cette solution si importante à mes yeux, n'hésite pas à la partager avec moi
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 int NBCOL = m_sTitles.length; //ecriture des entetes for (int c=0; c<NBCOL; c++) { HSSFCell cellule = r_entete.createCell((short)c); cellule.setCellValue(m_sTitles[c]); cellule.setCellStyle(s_entete); } //écriture des données int NBROW = m_oDatas.length; for (int r=0; r<NBROW; r++) { HSSFCellStyle s_ligne; if(r%2 == 0) s_ligne = getCellStyle(book,"paire"); else s_ligne = getCellStyle(book,"impaire"); HSSFRow ligne = feuille.createRow(ROW_INDEX); ROW_INDEX++; for (int c=0; c<NBCOL; c++) { HSSFCell cell = ligne.createCell((short)c); Class cl = m_oDatas[r][c].getClass(); if(cl.equals("class java.lang.String"))System.out.println("String:"+m_oDatas[r][c].getClass()); //cell.setCellValue(m_oDatas[r][c].toString()); //cell.setCellStyle(s_ligne); }![]()
Merci beaucoup pour votre aide.
PS: il y a bien sur la solution de tout mettre en String, solution qui ne me convient pas bien sur vu que les exports excel servent à faire des calculs et que si par defaut la colonne est à "Texte", l'utilisateur est obligé de changer le type de la colonne....
Partager