Bonjour

Après importation des données depuis fichier excel vers Jtable, la date s'affiche dans le format d'un nombre :

Voici le 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
import java.awt.Font;
     import java.util.Iterator;
 
     import java.io.File;
     import java.io.FileInputStream;
     import java.io.FileNotFoundException;
     import java.io.IOException;
     import java.io.InputStream;
     import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JFrame;
     import javax.swing.JScrollPane;
     import javax.swing.JTable;
     import javax.swing.table.DefaultTableModel;
     import org.apache.poi.hssf.usermodel.HSSFCell;
     import org.apache.poi.hssf.usermodel.HSSFRow;
     import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 
    /**
    * *
    * * @author Pokitos
    * * Fonctionne avec la library POI. (http://poi.apache.org/hssf/index.html);
    * * Cette classe permet d'importer un fichier excel (sauf de 2007) dans un jtable.
    * */
 
     public class ExcelPièces {
 
     public static JTable table = new JTable();
 
     public ExcelPièces(){
 
     }
 
     public static JTable CreerJTableAvecExcel(File file) throws FileNotFoundException, IOException{
 
     //Lecture du fichier excel
     InputStream inp = new FileInputStream(file);
     HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
 
    //Recupére page 1 du fichier xls
     HSSFSheet sheet = wb.getSheetAt(0);
        HSSFRow row = null;
         HSSFCell cell = null;
 
        int i=0;
        int j=0;
        int maxCell=0;
       //compte nombre de lignes
      for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();)
          {
          j=0;
        row = (HSSFRow) rowIt.next();
 
        for (Iterator cellIt = row.cellIterator(); cellIt.hasNext();)
        {
          cell = (HSSFCell) cellIt.next();
          j++;
        }
        if (maxCell<j)
            maxCell=j;
 
        i++;//pour compter les ligne
        //System.out.println("Nombre max de Cell de la ligne :" + i+" est :"+maxCell);
          }
       System.out.println("Nombre max de Cell :" + maxCell);
       System.out.println("Nombre  de ligne :" + i);
 
       //crée nouveau tableau d'objet
     Object[][] o = new Object[i][maxCell];
 
     //en tête du tableau
      String[] titre = {"Client","Date émission","Date création","Nature","N°Piéce","Le tiré","Banque","Montant Piéce","Date ECH" };
     //for(int m = 0;i<maxCell;m++)
    // {
    // titre[m] = ""+m;
   // }
 
      //parcours la feuille et on recupère les lignes une par une
    for(int k = 0; k<i;k++){
     HSSFRow Grow = sheet.getRow(k+1);
 
     //parcours la ligne pour récupérer les colonnes
     if(Grow!=null)
     {
         for(int p = 0;p<maxCell;p++)
         {
           //Récupère la cellule puis sa valeur
             HSSFCell Gcell = Grow.getCell((short)p);
             Object value = ContenuCellule(Gcell);
             //System.out.println(value.toString());
    o [k][p] = value;
         }
     }
    }
 
     inp.close();
     table.setModel(new DefaultTableModel(o, titre));
     return table;
 
     }
 
        /**
    * * La cellule peut contenir différent type de valeur qui doivent être récupéré spécifiquement
    * */
    private static Object ContenuCellule(HSSFCell cell){
     Object value = null ;
 
     if(cell == null){
     value = "";
     }
 
     else if(cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN){
     value = cell.getBooleanCellValue();
     }
     else if(cell.getCellType() == HSSFCell.CELL_TYPE_ERROR){
     value = cell.getErrorCellValue();
     }
     else if(cell.getCellType() == HSSFCell.CELL_TYPE_FORMULA){
     value = cell.getCellFormula();
     }
     else if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){
     value = cell.getNumericCellValue();
     }
     else if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING){
     value = cell.getRichStringCellValue();
     }
 
 
     return value;
 
     }
 
     //exemple
     public static void main(String args[]) {
     java.awt.EventQueue.invokeLater(new Runnable() {
     public void run() {
     try {
     //On peut utiliser JFileChooser() aussi.
     File cible = new File("fichierExcelPièces.xls");
 
     JTable tableur = ExcelPièces.CreerJTableAvecExcel(cible);
 
 
     tableur.setFont(new Font(Font.SERIF,Font.PLAIN,10));
 
    JFrame cadre = new JFrame();
     cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     cadre.setVisible(true);
     cadre.setSize(800, 200);
     JScrollPane panel = new JScrollPane();
     panel.setViewportView(tableur);
     cadre.add(panel);
 
 
     }catch (FileNotFoundException ex) {
     Logger.getLogger(ExcelPièces.class.getName()).log(Level.SEVERE, null, ex);
     } catch (IOException ex) {
     Logger.getLogger(ExcelPièces.class.getName()).log(Level.SEVERE, null, ex);
     }
    }
     });
     }
 
     }
dans la colonnes date émission, date création date échéance la date s'affiche sous le forme suivant :

40096.0 :-°

J'espère que j'ai été assez claire pour pouvoir bénéficier de votre aide

merci d'avance