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 :Je pense qu'il n'y a rien d'extraordinaire...
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(); }
Et pour la lecture du fichier
Voila ... J'espere que vous cernez l'environnement.
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(); }
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...
Partager