Bonjour tout le monde.
J'ai un petit souci lors de l'utilisation du package JExcel en JAVA. En effet, je crée un fichier Excel à partir de mon programme java (en dupliquant un fichier excel existant). La copie ce passe sans problèmes, les formules du fichier Excel sont également copié. Maintenant, j'ai un souci lors de la réutilisation de ces formules. Exemple: dans un fichier il ya l'addition sur les colonnes. Je veux saisie l'ensemble des colonnes et récupérer le résultat. Le résultat apparaît bien dans le fichier, mais lorsque j'essaye de le récupérer, j'ai la valeur 0. Voilà un extrait de code... SVP, de l'aide.

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
 
import java.io.*;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Number;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
 
/**
 * @author Souleymane
 * Cette classe permet de lire et d'écire dans le fichier Excel transil.xls
 */
public class Transit {
 
     public void ecrire (int montantHT, int poid) throws FileNotFoundException, IOException, BiffException, WriteException
        {
        // Chargement du fichier "modèle"
            InputStream xlsRefStream = new FileInputStream("C:\\Users\\Souleymane\\Desktop\\CLOVIS\\ABM Technologie\\FAP\\GEFAP\\fichier\\transit.xls");
            Workbook refWorkbook = Workbook.getWorkbook(xlsRefStream);
 
        // Création du fichier de sortie
            File outFile = new File("C:\\Users\\Souleymane\\Desktop\\CLOVIS\\ABM Technologie\\FAP\\GEFAP\\fichier\\NewTransit.xls");
        //Workbook outWorkbook = Workbook.createWorkbook(outXlsFile, refWorkbook);
            WritableWorkbook outWorkbook = Workbook.createWorkbook(outFile, refWorkbook);
 
        // Récupération de l'onglet courant (le premier onglet)
            WritableSheet out = outWorkbook.getSheet(0);
 
            Number num = new Number(1, 1, montantHT);
            out.addCell(num);
 
            Number num1 = new Number(2, 1, poid);
            out.addCell(num1);
 
        // Toutes les cellules sont remplies :
        // Sauvegarde le fichier
            outWorkbook.write();
            outWorkbook.close();
        }
 
     public int lecture()
        {
            int resultat=0; // la case du fichier Excel ayant la valeur du transit à utiliser
 
            Workbook workbook = null;
		try {
			/* R�cup�ration du classeur Excel (en lecture) */
			workbook = Workbook.getWorkbook(new File("C:\\Users\\Souleymane\\Desktop\\CLOVIS\\ABM Technologie\\FAP\\GEFAP\\fichier\\NewTransit.xls"));
 
			/* Un fichier excel est compos� de plusieurs feuilles, on y acc�de de la mani�re suivante*/
			Sheet sheet = workbook.getSheet(0);
 
			/* On accede aux cellules avec la méthode getCell(indiceColonne, indiceLigne) */
			Cell b2 = sheet.getCell(1,1); 
			Cell c2 = sheet.getCell(2,1); 
                        Cell f2 = sheet.getCell(5,1); 
 
			/* On peut également le faire avec getCell(nomCellule) */
			Cell c5 = sheet.getCell("F2"); 
 
			/* On peut r�cup�rer le contenu d'une cellule en utilisant la m�thode getContents() */
                        String montantHT= b2.getContents();
			String poids= c2.getContents();
			resultat =Integer.parseInt(f2.getContents());
 
			System.out.println("Montant HT: "+montantHT);
			System.out.println("Poids: "+poids);
                        System.out.println("Resultat (Prix du Transit): "+resultat);
                        //System.out.println("Resultat (Prix du Transit): "+c5.getContents());
 
                    } 
                catch (BiffException | IOException e)
                    {
                        e.getMessage();
                        System.out.println("Erreur N°1");
                    } 
                finally 
                    {
                         if(workbook!=null)
                            {
                                    /* On ferme le worbook pour liberer la memoire */
                                    workbook.close(); 
                            }
                    }
           return resultat;
 
        }
 
}