GNT sans publicité, site mobile, fonctionnalitées exclusives...

Format Excel - conversion automatique

Le
Fabien LE LEZ
Bonjour,

J'aurais besoin, sur un serveur web (Debian Etch), de lire et écrire
des fichiers au format XLS (Excel 97). J'ai bien dit XLS, pas CSV.
Le tout, de façon complètement automatique.

Pour l'instant, la seule piste que je vois, c'est de lire et écrire en
XML (ou plus précisément Opendocument), et utiliser Openoffice pour
convertir.

Est-ce faisable de façon automatique ? Y a-t-il d'autres pistes à
explorer ?

Merci d'avance.
Lire les 7 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre Maurette
Le #18041111
Fabien LE LEZ, le 04/12/2008 a écrit :
Bonjour,

J'aurais besoin, sur un serveur web (Debian Etch), de lire et écrire
des fichiers au format XLS (Excel 97). J'ai bien dit XLS, pas CSV.
Le tout, de façon complètement automatique.

Pour l'instant, la seule piste que je vois, c'est de lire et écrire en
XML (ou plus précisément Opendocument), et utiliser Openoffice pour
convertir.

Est-ce faisable de façon automatique ? Y a-t-il d'autres pistes à
explorer ?



Il existe le module python "Python XLS Reader":

Le readme.txt donne des liens vers des solutions en Perl, PHP et Java,
je le colle pour info:

pyXLReader
================= pyXLReader is a Python library for reading Excel compatible
spreadsheets.
It's a port of JAVA jexcelapi and PHP Spreadsheet-Excel-Reader to
Python.
It allows reading of Excel compatible spreadsheets without the Windows.

Requires Python 2.2+

Authors, copyright, and license
==============================
pyXLReader was ported by Ilia Harlamov from
jexcelapi and Spreadsheet-Excel-Reader (URL see below)

Copyright (c) 2005 Ilia Harlamov Copyright (c) 2004 Vadim Tkachenko (Spreadsheet-Excel-Reader)
Copyright (c) ???? Andy Khan (jexcelapi)

Distribution's license is GNU LGPL. The included LICENSE.txt file
describes
this in detail.


Useful links
===========
Perl Spreadsheet::ParseExcel
http://search.cpan.org/search?dist=...ParseExcel

OpenOffice's Spreadsheet Project
http://sc.openoffice.org/
http://sc.openoffice.org/excelfileformat.pdf

POIFS (OLE2) format documentation
http://jakarta.apache.org/poi/poifs...ormat.html
http://jakarta.apache.org/poi/poifs/fileformat.pdf

PHP Pear Spreadsheet-Excel-Reader (Vadim Tkachenko)
http://pear.php.net/package/Spreads...el_Reader/

Java API for reading, writing and modifying the contents of Excel
spreadsheets
http://www.andykhan.com/jexcelapi/index.html

PHP Spreadsheet Excel Reader
http://sourceforge.net/projects/phpexcelreader/


--
Ilia Harlamov
--
Pierre Maurette
Stephan Peccini
Le #18041281
Le Thu, 04 Dec 2008 05:39:51 +0100, Fabien LE LEZ a écrit :

J'aurais besoin, sur un serveur web (Debian Etch), de lire et écrire des
fichiers au format XLS (Excel 97). J'ai bien dit XLS, pas CSV. Le tout,
de façon complètement automatique.



Est-ce faisable de façon automatique ? Y a-t-il d'autres pistes à
explorer ?



Oui et ce directement à partir du format natif MS Office avec unoconv et
en utilisant openoffice en headless sous forme de service.

Je n'ai pas sous la main la configuration exacte que j'ai mise en place au
boulot, mais si tu souhaites, je te la donnerai.

--
Stéphan Peccini
Les photos : Les Pyrénées : Le blog :
Fabien LE LEZ
Le #18041341
On 4 Dec 2008 06:34:17 GMT, Stephan Peccini
Je n'ai pas sous la main la configuration exacte que j'ai mise en place au
boulot, mais si tu souhaites, je te la donnerai.



Je veux bien. Merci.
Fabien LE LEZ
Le #18041331
On Thu, 04 Dec 2008 06:23:06 +0100, Pierre Maurette

Le readme.txt donne des liens vers des solutions en Perl, PHP et Java,
je le colle pour info:



Merci.

Je suis en train de regarder tout ça. Pour lire le contenu d'un
fichier Excel, ça a l'air prometteur. Pour créer un fichier, je suis
plus dubitatif.
stephan
Le #18042461
On Dec 4, 7:53 am, Fabien LE LEZ
On 4 Dec 2008 06:34:17 GMT, Stephan Peccini
>Je n'ai pas sous la main la configuration exacte que j'ai mise en place au
>boulot, mais si tu souhaites, je te la donnerai.

Je veux bien. Merci.



Tu a besoin de Xvfb, openoffice avec pyuno et headless et unoconv :

http://dag.wieers.com/home-made/unoconv/

Le fichier unoconvd pour lancer le service :

#!/bin/sh
#
# openofficeorg This shell script takes care of starting and stopping
# openoffice server.
#
# chkconfig: 2345 99 35
# description: unoconv listener for converting documents with OOo


. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
start)
printf "Starting unoconvd: "
/usr/bin/Xvfb :8101 -ac &
sleep 5
su - apache -c "export DISPLAY=:8101.0;/usr/bin/unoconv --listener
&"
echo
;;
stop)
printf "Shutting down unoconvd: "
killall soffice.bin
echo
;;
restart)
$0 stop
$0 start
;;
*)
printf "Usage: unoconvd {start|stop|restart}n"
exit 1
;;
esac

exit 0
###################

Et pour convertir un fichier Excel en CSV tu lances la commande :

/usr/bin/unoconv -d spreadsheet -f csv fichier.xls

Je te laisse voir toutes les possibilités :

http://linux.die.net/man/1/unoconv
Publicité
Suivre les réponses
Poster une réponse
Anonyme