Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1818 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème avec jexcelapi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec jexcelapi

n°1298998
Kenshin048​6
Posté le 04-02-2006 à 13:41:48  profilanswer
 

Voilà je dois manipuler un fichier excel avec un petit programme en java
J'ai vu qu'il existait pour ca l'api jexcelapi, donc je m'en sers  
Ceci dit ce n'est peut etre pas la meilleure api ?
Tout ce que je dois faire c'est entrer des valeurs à mon programme afin qu'il les écrive dans les bonnes cellules du fichier excel
Mais ce fichier est assez gros et il y a bcp bcp de valeurs à entrer
Et voilà mon problème lorsque je l'exécute :
 
Warning:  Range A77-D77 contains more than one data cell.  Setting the other cells to blank.
Warning:  Range A23-D23 contains more than one data cell.  Setting the other cells to blank.
 
Si je comprends bien il n'aime pas les cellules qui font plusieurs cases, mais j'en ai plein des comme ca..c'est un peu chaque titre de tableau
Donc je voulais savoir si y'a un moyen d'éviter ces warning, parce que après je ne peux pas ouvrir le fichier excel modifié avec Excel 2000
Et au mieux je l'ouvre avec Excel 2003 mais il n'a plus du tout la meme allure..la couleur et tout a disparu, je ne sais pas ce qu'il faut faire pour garder le style du fichier source
Si quelqu'un voit une solution, merci d'avance


Message édité par Kenshin0486 le 05-02-2006 à 21:58:32
mood
Publicité
Posté le 04-02-2006 à 13:41:48  profilanswer
 

n°1300400
brisssou
8-/
Posté le 07-02-2006 à 11:53:16  profilanswer
 

y a un truc pour faire des "merge cell", attend, je cherche

n°1300405
brisssou
8-/
Posté le 07-02-2006 à 11:57:03  profilanswer
 

Code :
  1. Workbook.createWorkbook(response.getOutputStream());
  2. WritableSheet sh = wb.createSheet("Ma chouette feuille", 0);
  3. sh.mergeCells(0, 0, 22, 0);


 
c'est ça que tu voulais faire, non ?

n°1300677
Kenshin048​6
Posté le 07-02-2006 à 17:47:56  profilanswer
 

Oui c bon ce problème est réglé merci  :)  
 
Et sinon, pour ce qui est des grapgiques, y'a-t-il un moyen de les gérer ?
Ou bien c'est impossible ?
Parce que lorsque mon fichier possède des graphiques, je ne peux toujours pas l'ouvrir


Message édité par Kenshin0486 le 07-02-2006 à 17:48:36
n°1300787
brisssou
8-/
Posté le 07-02-2006 à 22:02:05  profilanswer
 

j'ai jamais rien fait avec des graphes... chai même pas si c'est géré :-/
mais la javadoc est ton ami :)


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1310645
luigi94
Posté le 21-02-2006 à 14:44:05  profilanswer
 

Bonjour tout le monde je suis un petit nouveau icon_smile
Je suis actuellement en stage et je travaille sur la migration de eSpreadSheet vers POI ou JExcel.
Avant de pouvoir migrer je dois vérifier certains points prérequis, et la je cale.
 
Alors mon problème, sur Excel on peut "breaker" une cellule en rajoutant une apostrophe devant sa saisie, exemple : 'exemple.
 
Mon problème arrive quand je veux récupérer une date breakée ('26/09/06 ou '26 déc 2006 ...) le type de la cellule m'interdit de récupérer la cellule en tant que DateCell, car c'est une LabelCell.
Donc j'essaye de faire un bricolage, pour copier cette cellule sur une autre feuille Excel pour me débarasser de l'appostrophe et retrouver le bon type mais cela ne fonctionne pas.
 
La solution idéal serait un moyen de faire reconnaître par Excel le format date automatiquement via la "Barre de formule".
 
Si jamais quelqu'un à une solution je suis tout ouïe.
 
Merci par avance
 
Louis

n°1310693
senternal
Posté le 21-02-2006 à 15:07:12  profilanswer
 

luigi94 a écrit :

Bonjour tout le monde je suis un petit nouveau icon_smile
Je suis actuellement en stage et je travaille sur la migration de eSpreadSheet vers POI ou JExcel.
Avant de pouvoir migrer je dois vérifier certains points prérequis, et la je cale.
 
Alors mon problème, sur Excel on peut "breaker" une cellule en rajoutant une apostrophe devant sa saisie, exemple : 'exemple.
 
Mon problème arrive quand je veux récupérer une date breakée ('26/09/06 ou '26 déc 2006 ...) le type de la cellule m'interdit de récupérer la cellule en tant que DateCell, car c'est une LabelCell.
Donc j'essaye de faire un bricolage, pour copier cette cellule sur une autre feuille Excel pour me débarasser de l'appostrophe et retrouver le bon type mais cela ne fonctionne pas.
 
La solution idéal serait un moyen de faire reconnaître par Excel le format date automatiquement via la "Barre de formule".
 
Si jamais quelqu'un à une solution je suis tout ouïe.
 
Merci par avance
 
Louis


 
Apres des tests poussés, j'ai abandonné JExcel et POI ... Pour repasser a du "bon code VBA !!" YEAH  :lol:  
 
Les problemes rencontrés :
- Copie de feuilles existantes "merdiques" avec perte de mise en forme, perte des images et du formatage de cellule
- Generation de feuilles TRES limite, mise en forme a chier et limitation au niveau des macros (impossibilité??)
- Lourdeur comme c'est pas permis sur le traitement de classeurs en batch (generation d'etat de bord, de calcul via macro existante...)
 
Bref, a proscrire sauf pour 2/3 tableaux et une couleur...

n°1310699
luigi94
Posté le 21-02-2006 à 15:14:26  profilanswer
 

Le truc c'est qu'à la base le traitement qu'on doit faire sur Excel n'est que de la lecture. Y a toujours ce problème avec les dates qui avait été détourné avec eSpreadSheet par de la bidouille. Mais cette même bidouille ne marche ni avec POI ni avec JExcel...
 

n°1310917
brisssou
8-/
Posté le 21-02-2006 à 18:17:00  profilanswer
 

ben.. tu peux pas simplement récupérer ta String, et la parser en Date ?

n°1311159
luigi94
Posté le 22-02-2006 à 09:05:15  profilanswer
 

Oui c'est ce que je compte faire, mais c'est dommage de ne pas utiliser Excel pour récupérer la date. Il l'a met en forme automatiquement.  
Le truc chiant c'est que sur Excel il doit y avoir 17 formats de date (ou plus), donc vu que ma seule contrainte c'est que la date soit au format d'Excel, ca va me faire des supers expressions régulières, et des supers enchaînement de tests...
C'est la solution de dernier recours, mais je vais devoir m'y coller.

mood
Publicité
Posté le 22-02-2006 à 09:05:15  profilanswer
 

n°1312384
luigi94
Posté le 23-02-2006 à 15:53:33  profilanswer
 

J'ai trouvé une solution : j'utilise une fonction d'Excel : DATEVAL() qui à partir d'une date au format string, l'interprète, et donne une date au format Excel : un double. Puis j'utilise la fonction HSSFDateUtil.getJavaDate( ) pour la conversion au format Java.
Le petit problème c'est que je triche un peu, j'utilise une formule présaisie sur une feuille Excel car je n'arrive pas a en rentrer une moi même : cell.setCellFormula("DATEVAL(A1)" ).  
En tout cas ca marche, mais si quelqu'un a une idée pour la saisie de formule je lui en serai très reconnaissant.
 
Louis

n°1312430
brisssou
8-/
Posté le 23-02-2006 à 16:38:57  profilanswer
 

?

Code :
  1. "DATEVAL("+taStringQuiVaBien+" )"


non?

n°1312462
luigi94
Posté le 23-02-2006 à 17:00:20  profilanswer
 

En fait j'ai essayé, et la formule qu'il a dans la cellule est la suivante :
taStringQuiVaBien () DATEVAL. (Dans mon cas à moi : A1 () DATEVAL)
Je ne sais pas comment il entre les formules, mais sur le tuto de POI, ils disent d'entrer les formules au format string, comme si vous la saisissiez sur Excel.
Donc je ne sais pas.
 
Sur JExcel je galère aussi :D . Pour écrire la formule c'est simple, on déclare une Formula, et ensuite on l'ajoute à notre sheet. J'ai bien fait gaffe de changer le format de ma cellule pour qu'Excel me transforme directement ma date au format double au format dd/mm/yyyy... Mais comble du comble, impossible de récupérer le résultat de la formule, je ne récupère que la formule :).
 
Donc va falloir trouver un autre moyen de tricher!
 

n°1312470
luigi94
Posté le 23-02-2006 à 17:08:05  profilanswer
 

C'est bon le bricolage sur JExcel j'utilise DateFormulaCell.
 
Ce qui m'embête c'est de devoir trop dépendre d'un fichier Excel pour faire la formule.
Car dans ma solution je récupère le résultat d'une cellule que j'ai écrit à la main dans un fichier excel de "config".


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème avec jexcelapi

 

Sujets relatifs
Problème avec une requêteprobleme JPOX
Eclipse, problème de dépendance en C++Problème avec des images sous IE [Résolu]
Probleme d'indirection sur structures[PHP] mail avec pieces jointes ! probleme avec Lotus Notes [RESOLUT]
Problème d'alignement avec IE (très bizarre) Code Insideprobleme images reactives sous IE
Problème pour un code sous VBnetpfffff probleme avec un menu en js
Plus de sujets relatifs à : Problème avec jexcelapi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR