Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir Excel à partir d'une jsp

9 réponses
Avatar
sreis
Bonjour,

je voudrais ouvrir Excel en java, à partir d'une jsp.
Il y a un moyen simple qui permet d'ouvrir Excel, de créer un nouveau
document et de le remplir grâce à une table html, à l'aide du code
suivant
response.setContentType("application/vnd.ms-excel");
Toutefois cette méthode est insuffisante dès que l'on veut utiliser
des fonctionnalités spécifiques de Excel (ex : modifier le type
d'affichage d'une cellule, la couleur...), ce qui est mon cas.

J'ai trouvé une API (poi - projet Jakarta) qui permet de manipuler des
documents Excel (création, lecture, modification...), de modifier les
propriétés des cellules dans le document mais je ne vois pas comment
elle permet d'ouvrir Excel et d'y afficher mon document.

Quelqu'un sait-il comment faire?

Merci de votre aide.

9 réponses

Avatar
Frederic WOEHL
Salut,

Quand le navigateur client recois le content-type
"application/vnd.ms-excel" il sait que le contenu joint est de type .xls,
il se comporte donc éventuelement en ouvrant excel (l'application ou bien
du ole dans le navigateur).
Si le .xls renvoyé a été mis en forme à l'aide de poi tu as gagné, non ?

FRED

Sandrine wrote:

Bonjour,

je voudrais ouvrir Excel en java, à partir d'une jsp.
Il y a un moyen simple qui permet d'ouvrir Excel, de créer un nouveau
document et de le remplir grâce à une table html, à l'aide du code
suivant
response.setContentType("application/vnd.ms-excel");
Toutefois cette méthode est insuffisante dès que l'on veut utiliser
des fonctionnalités spécifiques de Excel (ex : modifier le type
d'affichage d'une cellule, la couleur...), ce qui est mon cas.

J'ai trouvé une API (poi - projet Jakarta) qui permet de manipuler des
documents Excel (création, lecture, modification...), de modifier les
propriétés des cellules dans le document mais je ne vois pas comment
elle permet d'ouvrir Excel et d'y afficher mon document.

Quelqu'un sait-il comment faire?

Merci de votre aide.


Avatar
sreis
En théorie, c'est ce que je pensais.
En pratique, ça ouvre bien Excel mais la feuille créée reste vide.
J'ai l'impression que l'unique but de poi est de manipuler des
documents Excel mais pas de les visualiser directement dans Excel.
Le seul moyen que j'ai trouvé pour remplir le fichier est de créer une
table html dans ma jsp...

Frederic WOEHL wrote in message news:...
Salut,

Quand le navigateur client recois le content-type
"application/vnd.ms-excel" il sait que le contenu joint est de type .xls,
il se comporte donc éventuelement en ouvrant excel (l'application ou bien
du ole dans le navigateur).
Si le .xls renvoyé a été mis en forme à l'aide de poi tu as gagné, non ?

FRED

Sandrine wrote:

Bonjour,

je voudrais ouvrir Excel en java, à partir d'une jsp.
Il y a un moyen simple qui permet d'ouvrir Excel, de créer un nouveau
document et de le remplir grâce à une table html, à l'aide du code
suivant
response.setContentType("application/vnd.ms-excel");
Toutefois cette méthode est insuffisante dès que l'on veut utiliser
des fonctionnalités spécifiques de Excel (ex : modifier le type
d'affichage d'une cellule, la couleur...), ce qui est mon cas.

J'ai trouvé une API (poi - projet Jakarta) qui permet de manipuler des
documents Excel (création, lecture, modification...), de modifier les
propriétés des cellules dans le document mais je ne vois pas comment
elle permet d'ouvrir Excel et d'y afficher mon document.

Quelqu'un sait-il comment faire?

Merci de votre aide.




Avatar
Ulrich
Salut,

POI est malheureusement une API qui n'évolue plus. Je te conseillerais de
bosser un peu VB et d'attaquer Excel via l'api JACOB.

Bon code,
Ulrich.


"Sandrine" a écrit dans le message de news:

Bonjour,

je voudrais ouvrir Excel en java, à partir d'une jsp.
Il y a un moyen simple qui permet d'ouvrir Excel, de créer un nouveau
document et de le remplir grâce à une table html, à l'aide du code
suivant
response.setContentType("application/vnd.ms-excel");
Toutefois cette méthode est insuffisante dès que l'on veut utiliser
des fonctionnalités spécifiques de Excel (ex : modifier le type
d'affichage d'une cellule, la couleur...), ce qui est mon cas.

J'ai trouvé une API (poi - projet Jakarta) qui permet de manipuler des
documents Excel (création, lecture, modification...), de modifier les
propriétés des cellules dans le document mais je ne vois pas comment
elle permet d'ouvrir Excel et d'y afficher mon document.

Quelqu'un sait-il comment faire?

Merci de votre aide.


Avatar
Guillaume Laforge
"Sandrine" a écrit dans le message de
news:
En théorie, c'est ce que je pensais.
En pratique, ça ouvre bien Excel mais la feuille créée reste vide.
J'ai l'impression que l'unique but de poi est de manipuler des
documents Excel mais pas de les visualiser directement dans Excel.
Le seul moyen que j'ai trouvé pour remplir le fichier est de créer une
table html dans ma jsp...


POI est tout à fait capable de lire et d'écrire (voire même de modifier) des
fichiers XLS d'Excel.
Mais ce n'est pas (à mon goût) la meilleure API.
Une API que je trouve bien meilleure : JExcelAPI
(http://jexcelapi.sourceforge.net/)
Très simple d'utilisation, et plus légère.
Inspires toi des exemples du tutorial suivant :
http://www.andykhan.com/jexcelapi/tutorial.html

Guillaume Laforge
http://glaforge.free.fr/weblog/index.php?itemid&&catid=2

Avatar
sreis
Effectivement, JExcelAPI a l'air beaucoup plus simple d'utilisation
que POI...
Mais comment peut-on ouvrir Excel et écrire dans le nouveau document
ouvert par le biais de cette API?
Faut-il utiliser un xxxOutputStream ou bien n'est-ce pas nécessaire?

"Guillaume Laforge" wrote in message news:<3fcce7c6$0$28627$...
"Sandrine" a écrit dans le message de
news:
En théorie, c'est ce que je pensais.
En pratique, ça ouvre bien Excel mais la feuille créée reste vide.
J'ai l'impression que l'unique but de poi est de manipuler des
documents Excel mais pas de les visualiser directement dans Excel.
Le seul moyen que j'ai trouvé pour remplir le fichier est de créer une
table html dans ma jsp...


POI est tout à fait capable de lire et d'écrire (voire même de modifier) des
fichiers XLS d'Excel.
Mais ce n'est pas (à mon goût) la meilleure API.
Une API que je trouve bien meilleure : JExcelAPI
(http://jexcelapi.sourceforge.net/)
Très simple d'utilisation, et plus légère.
Inspires toi des exemples du tutorial suivant :
http://www.andykhan.com/jexcelapi/tutorial.html

Guillaume Laforge
http://glaforge.free.fr/weblog/index.php?itemid&&catid=2



Avatar
Franck
Sandrine wrote:
Effectivement, JExcelAPI a l'air beaucoup plus simple d'utilisation
que POI...
Mais comment peut-on ouvrir Excel et écrire dans le nouveau document
ouvert par le biais de cette API?
Faut-il utiliser un xxxOutputStream ou bien n'est-ce pas nécessaire?


Ca m'etonnerait que tu puisses "ouvrir Excel puis ecrire dans le nouveau
document"
Non, avec une techno orientée serveur comme les jsp, tu ne peux que générer
un fichier Excel puis après l'ouvrir dans Excel. Mais ça devrait suffire non
?

Pour communiquer avec un document Excel ouvert, ce sont des technologies
type
dde ou Active-X qui n'ont rien à voir avec les jsp.

@+

--
Franck Lefebure
mailto:

Avatar
Ulrich
Tu es bien affirmatif ! Qu'est ce qui t'empèche de faire cela ?

"Franck" a écrit dans le message
de news:
Sandrine wrote:
Effectivement, JExcelAPI a l'air beaucoup plus simple d'utilisation
que POI...
Mais comment peut-on ouvrir Excel et écrire dans le nouveau document
ouvert par le biais de cette API?
Faut-il utiliser un xxxOutputStream ou bien n'est-ce pas nécessaire?


Ca m'etonnerait que tu puisses "ouvrir Excel puis ecrire dans le nouveau
document"
Non, avec une techno orientée serveur comme les jsp, tu ne peux que
générer

un fichier Excel puis après l'ouvrir dans Excel. Mais ça devrait suffire
non

?

Pour communiquer avec un document Excel ouvert, ce sont des technologies
type
dde ou Active-X qui n'ont rien à voir avec les jsp.

@+

--
Franck Lefebure
mailto:





Avatar
Lionel
Ulrich wrote:
Ca m'etonnerait que tu puisses "ouvrir Excel puis ecrire dans le
nouveau document"
avec une techno orientée serveur comme les jsp


Tu es bien affirmatif ! Qu'est ce qui t'empèche de faire cela ?


vas y, montre nous le code de ta servlet qui ouvre Excel sur le poste client
et écrit dans le document ouvert. ca m'interesse...
et qui est portable et fonctionne quel que soit le poste client bien sur :-)

PS: un peu de lecture interessante:
http://www.giromini.org/usenet-fr/repondre.html


Avatar
Ulrich
J'ai mal suivi le thread, mais il est bien sur possible de créer
dynamiquement un doc Excel via une API via un pont COM et de le filer au
client qui l'ouvrira à sa guise. Je l'ai fait pour du Word. Mais interagir
en live avec Excel via une JSP est un autre exercice dont je n'ai pas la
réponse.

Concernant ton lien : "peut importe le contenant c'est le contenu qui
compte". Et si tu as du temps à perdre avec ses conneries tu en auras
sûrement pour bosser le pb en actu.



"Lionel" a écrit dans le message de news:
3fd5c653$0$22306$
Ulrich wrote:
Ca m'etonnerait que tu puisses "ouvrir Excel puis ecrire dans le
nouveau document"
avec une techno orientée serveur comme les jsp


Tu es bien affirmatif ! Qu'est ce qui t'empèche de faire cela ?


vas y, montre nous le code de ta servlet qui ouvre Excel sur le poste
client

et écrit dans le document ouvert. ca m'interesse...
et qui est portable et fonctionne quel que soit le poste client bien sur
:-)


PS: un peu de lecture interessante:
http://www.giromini.org/usenet-fr/repondre.html