1

yop,

J'aurais besoin de lire et modifier un fichier .xls dans une application, si possible en Java (mais si ça n'existe pas en Java, j'ai l'impression qu'il existe pas mal de solutions Delphi). Le problème c'est que ce fichier comporte des valeurs, formules, et autres trucs que tous les modules ne gèrent pas, et qu'il fait plus de 10mo. Pour le moment j'ai essayé JExcel API et POI HSSF, le 1er a pu lire le fichier mais meurt au moment de sauvegarder, et le 2eme n'arrive même pas à l'ouvrir. Quelqun connaitrait une bonne solution ? (enfin à défaut d'être bonne, une qui marche ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

Pour faire ca en python, j'utilisais COM pour lancer Excel et le piloter en fait...
Mais bon, ca necessite d'avoir Excel d'installe, et ca depend de ce que tu veux faire roll

3

ah oué, c'est un peu chiant mais bon si ça marche et que je trouve pas mieux, pkoi pas
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

bah disons que moi, j'en avais simplement besoin pour traiter des donnees que j'avais d'ailleurs, j'ai fait tout ca avec Excel.
c'etait pas mal adapte

mais si toi, c;est pour un programme... faut voir

5

Sinon, y'a la solution avec openoffice, mais leur API est bien tendue : http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.xhtml

6

ah faudra que je regarde; sinon j'ai tenté Native Excel, ça plante ac mon fichier, XLSReadView chaipukoi ça plante aussi, je voulais tenter un truc pr java (Pagos Spreadsheet Component) mais la version demo n'ouvre que des fichiers de moins de 200ko, super pr tester ac mon truc de 10mo (je les ai mailé, forcément ils prétendent qu'il y aura aucun pb et que ça marchera, mais pas moyen que j'achete leur truc sans pvoir le tester avant)... bref super, je sens que je vais être obligé de piloter Excel, ça me semble très moyen comme solution :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Disons que ca depend vraiment de ce que tu dois faire avec ton programme en fait...
Si tu dois le faire souvent, deployer ton appli, oublie le pilotage.
Sinon, c pas mal et assez simple

8

bah tfaçons l'application spa pour moi donc tant que ça marche... mais je trouve ça plutôt moche comme solution, j'aurais preferé une lib capable d'ouvrir des .xls sans dépendre d'excel :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

ouep, je trouve pas ca bien non plus pour une vraie application (different d'un traitement personnel koi)

10

c'est chiant, parmis la multitude de libs que j'ai essayées y'en a pas une seule qui soit stable (mon fichier fait ds les 10mo et à chaque fois la lib est pas capable de le gérer correctement, alors que ça marche nikel ac des fichiers de tailles raisonnables), et la seule qui me semblait un peu serieuse est payante (ça c'est pas un pb), par contre sa version trial est limitée à des fichiers de 200ko :/
du coup j'ai mailé la boite pr savoir si y'avait moyen de trouver une solution, ils m'ont proposé de leur envoyer mon fichier excel pr qu'ils testent de leur coté mais bon... mon fichier il contient les budgets de l'esa donc je peux pas trop leur envoyer :/

(sinon je viens d'essayer de piloter excel via delphi, ça marche mais je capte pas, quand ça throw une exception, impossible de la catcher, ça quitte forcément mon application confus)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

(Merde du module pour l'appli delphi ?)
Et tu as essaye avec l'a[i d'OOo comme le disais hibou ?

12

(je sais pas, ça me semblerait étrange quand même; ms l'application se quitte en me disant qu'une exception n'a pas été rattrapée, je vois pas trop pkoi :/)

nop, à vrai dire j'ai même pas d/l pour voir de quoi ça avait l'air, étant donné que c'est un truc libre et tout et tout, j'ai peur de me retrouver avec des 100aines de fichiers et de perdre des heures pour trouver ce dont j'ai besoin et le rendre utilisable :/ (sans compter que si l'api est effectivement "bien tendue", ça va pas aider non plus)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

Bah si tu connais un peu python (en mm temps, c tres simple et sinon demande): http://www.lexicon.net/sjmachin/xlrd.htm

14

hmm oui mais pr le coup c'est une application assez grosse que je vais devoir developper; si c'était pr moi j'aurais pê tenté un nouveau langages, mais là il faut que je sois sûr du résultat donc je vais éviter ^^

(et puis ça revient au même que Delphi, Python ne peut que contrôler Excel, y'a pas de lib pr lire les xls en natif, si ?)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

Tu veux faire koi?
Transformer un excel en un autre truc en le modifiant p-e.
Juste modifier un fichier excel ?

16

yep, ouvrir un fichier excel, acceder à son contenu (y compris le résultat des formules, sans avoir à les interpreter moi-même), et modifier des valeurs / formules, ajouter / supprimer des colonnes, et sauvegarder le tout.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

17

sauvegarder dans un format excel ? grin (pke en gros, c ca le truc, si tu veux faire du excel->excel, c la merde et faut utiliser soit COM soit l'API d'OOo je pense)

18

Zephyr :
(je sais pas, ça me semblerait étrange quand même; ms l'application se quitte en me disant qu'une exception n'a pas été rattrapée, je vois pas trop pkoi :/)

nop, à vrai dire j'ai même pas d/l pour voir de quoi ça avait l'air, étant donné que c'est un truc libre et tout et tout, j'ai peur de me retrouver avec des 100aines de fichiers et de perdre des heures pour trouver ce dont j'ai besoin et le rendre utilisable :/ (sans compter que si l'api est effectivement "bien tendue", ça va pas aider non plus)

En fait la qualité de la doc de Open Office contredit le fait que c'est Open Source : c'est super bien documenté. En stage de 2A, connaissant à peine le Java, en 1 mois j'ai fait une macro Java pour OpenOffice qui prend le fichier en édition courant et l'envoie sur un serveur webdav. Je pense pas que cela te prendra tant de temps que ca. Rien qu'en lisant le sommaire, j'ai déjà trouvé ça :
http://api.openoffice.org/docs/DevelopersGuide/Spreadsheet/Spreadsheet.xhtml#1_1_2_Example_3A_Editing_Spreadsheet_Cells
Si tu as au moins 1 à 2h devant toi, je pense que tu devrais au moins essayer. Moi j'avais trouvé pas mal d'info sur leur forum. D'ailleur, c'était assez troublant, y'a un gas de chez Sun, j'avais l'impression que c'était son boulot de répondre aux questions ! cheeky
Le truc chiant avec OpenOffice, c'est que c'est pas du MS, donc niveau compatibilité, faut pas qu'il y ait de trucs trop bizarre dedans...

19

hibou :
D'ailleur, c'était assez troublant, y'a un gas de chez Sun, j'avais l'impression que c'était son boulot de répondre aux questions ! cheeky

Bah heu c possible smile

20

nEUrOO :
sauvegarder dans un format excel ? grin (pke en gros, c ca le truc, si tu veux faire du excel->excel, c la merde et faut utiliser soit COM soit l'API d'OOo je pense)

cry
(y'a des libs qui prétendent pvoir faire ça, mais elles chient ac mon fichier, lé trop gros sad)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

21

hibou
: Si tu as au moins 1 à 2h devant toi, je pense que tu devrais au moins essayer.

mouais, moyen en fait, disons que je peux pas trop me permettre de passer des journées à tenter des trucs sans être sûr que je pourrai les utiliser au final ou pas happy
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

22

apres, tu peux utiliser une lib pour charger du excel.
et l'ecrire, ca doit se faire ...

23

oué enfin là j'ai carrément pas le temps...

elle a l'air relativement simple à utiliser l'api d'OOo, mais c'est chiant à mettre en place ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

bah heu... naivement je dirais que si c en Java, ca devrait aller, non ?

25

chai pas, je sens qu'il va falloir encore compiler la terre entière pr pvoir les utiliser :/ (ms j'avoue que j'ai même pas encore regardé)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

26

Zephyr
:
hibou
: Si tu as au moins 1 à 2h devant toi, je pense que tu devrais au moins essayer.

mouais, moyen en fait, disons que je peux pas trop me permettre de passer des journées à tenter des trucs sans être sûr que je pourrai les utiliser au final ou pas happy
j'ai dit "1 à 2h devant toi", si tu vois que t'y arrive toujours pas au bout d'une journée, faut pas insister et continuer encore et encore.
Zephyr :
chai pas, je sens qu'il va falloir encore compiler la terre entière pr pvoir les utiliser :/ (ms j'avoue que j'ai même pas encore regardé)
compiler la terre entière, OOo propose une API en java ,pourquoi voudrais-tu que ce soit pas précompilé ?
hibou@i6000 /usr/lib/openoffice $ find . -iname '*.jar'
./help/en/sdatabase.jar
./help/en/scalc.jar
./help/en/sbasic.jar
./help/en/schart.jar
./help/en/shared.jar
./help/en/sdraw.jar
./help/en/simpress.jar
./help/en/smath.jar
./help/en/swriter.jar
./help/fr/sbasic.jar
./help/fr/scalc.jar
./help/fr/schart.jar
./help/fr/sdatabase.jar
./help/fr/sdraw.jar
./help/fr/shared.jar
./help/fr/simpress.jar
./help/fr/smath.jar
./help/fr/swriter.jar
./program/classes/ScriptFramework.jar
./program/classes/ScriptProviderForBeanShell.jar
./program/classes/ScriptProviderForJava.jar
./program/classes/ScriptProviderForJavaScript.jar
./program/classes/XSLTValidate.jar
./program/classes/avmedia.jar
./program/classes/bsh.jar
./program/classes/classes.jar
./program/classes/js.jar
./program/classes/sdbc_hsqldb.jar
./program/classes/xalan.jar
./program/classes/xercesImpl.jar
./program/classes/xml-apis.jar
./program/classes/xt.jar
./program/classes/XMergeBridge.jar
./program/classes/aportisdoc.jar
./program/classes/pexcel.jar
./program/classes/pocketword.jar
./program/classes/XSLTFilter.jar
./program/classes/agenda.jar
./program/classes/commonwizards.jar
./program/classes/fax.jar
./program/classes/form.jar
./program/classes/hsqldb.jar
./program/classes/java_uno.jar
./program/classes/java_uno_accessbridge.jar
./program/classes/juh.jar
./program/classes/jurt.jar
./program/classes/jut.jar
./program/classes/letter.jar
./program/classes/officebean.jar
./program/classes/query.jar
./program/classes/report.jar
./program/classes/ridl.jar
./program/classes/sandbox.jar
./program/classes/table.jar
./program/classes/unoil.jar
./program/classes/unoloader.jar
./program/classes/web.jar
./program/classes/xmerge.jar
./share/Scripts/java/HelloWorld/HelloWorld.jar
./share/Scripts/java/Highlight/Highlight.jar
./share/Scripts/java/MemoryUsage/MemoryUsage.jar


T'as peur d'essayer de l'Open Source ? cheeky

27

oui (franchement, oui, quand j'entends open source j'ai pas envie de passer des heures à compiler des trucs ^^)

ms bon si y'a des .jar j'essaierai oui
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

Ouais, enfin, y'a des projets OpenSource qui sont bien faits hein smile

29

C'est marrant, parce que moi, je fait que ca toute la journée utiliser de l'Open Source ^^
Open source veux pas dire, y'a les sources et démerde toi. A part avec les soft ou libraries vraiment spéciales ou pas maintenu etc, y'a toujours le binaire. J'ai eu plus souvent des difficulté à trouver les sources d'un soft open source que d'en trouver le binaire.
Le point faible de l'open source, c'est la doc... En général j'arrive rapidement à utiliser un lib rien qu'avec la javadoc et le tuto/exemple. Mais pour bien utiliser une librairie, il faut entrer un peu dans le code source de la lib. Et une fois que tu as passé ce stade, on passe au patchage pour que la lib fasse exactement ce que tu veux ^^. Et l'étape encore d'après, tu devient commiteur, tu modifie directement par toi même !.

30

c koi ton boulot et ou smile ?