Bonjour tout le monde,

J'ai un ptit problème a vous soumettre, en espérant que l'union fera la force.

Je manipule des fichiers xls en java à laide de l'aPI jxl.

Je parviens a les creer les remplir et a les lire avec excell par la suite, aucun souci.

Mais j'ai quand même un problème. J'ai une biffException qui apparait lorsque jessaye de l'ouvrir pour le lire (a partir de java)...

Pour 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
 
WritableWorkbook workbook = null;
try{
workbook = Workbook.createWorkbook(new File("..."));        
}catch (IOException e1){
e1.printStackTrace();
}
WritableSheet sheet = workbook.createSheet("...", 0);
 
label = new Label(0, 0, "...");//label en colonne 0 et ligne 0
try{
sheet.addCell(label);
...;
 
WritableImage celluleImage = null;
Number number = null;
WhiteGlobImage image2 = (WhiteGlobImage) image;
Label label = new Label(0, ligne, ...);//colonne 0, ligne i
sheet.addCell(label);
workbook.write();
workbook.close();
}catch (RowsExceededException e){
e.printStackTrace();
}catch (WriteException e){
e.printStackTrace();
}
catch (IOException e1){
e1.printStackTrace();
}
Je pense qu'il n'y a rien d'extraordinaire...

Et pour la lecture du fichier
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
 
try{
File f = new File("...");
if(f.exists()){
Logger.debug("Il existe : "+f.getAbsolutePath()+" "+f.length());
}
 
Workbook workbook = Workbook.getWorkbook(f);
Sheet sheet = workbook.getSheet(0);
int columnCpt = sheet.getColumns();
int rowCpt = sheet.getRows();
 
for(int i=1;i<rowCpt;i++){
LinkedList ligne = new LinkedList();
for(int j=0;i<columnCpt;j++){
    Cell cell = sheet.getCell(i,j);
    Object obj = cell.getContents();
    igne.add(obj);
}
}
 
workbook.close();
}catch (BiffException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
Voila ... J'espere que vous cernez l'environnement.

Les quelques tests que j'ai realise m'ont permis de comprendre que le fichier existait bien mais avait une longueur de 0 (ce qui genere la biffexception).
un autre test : Lorsque j'essaye d'acceder a ce fichier excel dans un "bete" main() ca fonctionne tres bien.

Lorsque je tente une lecture directement apres avoir ferme le writableWorkbook, ca fonctionne.... J'y comprend plus rien du tt :s

Merci a vous



Si vous avez une idée je suis preneur...