Manipulation de fichier au formats xls

Petit nouveau ! | 2 Messages

11 mai 2011, 12:36

Bonjour à tous,

Je dois manipuler des fichiers .xls en PHP (pour import dans une base de données), et j'aurais aimé savoir quelles étaient mes options.

Au risque d'être lourd, je précise que les fichiers sont bien au format xls (excel 2003), et non csv ou autre. Ce serait certainement plus facile mais l'utilisateur n'est pas censé s’embêter à enregistrer au bon format et avec les bons séparateurs.

J'ai fait quelques recherches sur internet, mais sans succès ...

Donc si quelqu'un a une idée, je lui en serais très reconnaissant !

Merci d'avance ! :)

ViPHP
ViPHP | 2577 Messages

11 mai 2011, 14:14

Bonjour,

Il me semble déjà avoir vu un post ou il était question de manipulation de fichier xls en PHP dans ce forum.

Le plus simple sera de faire une macro excel qui permet la transformation des fichiers de xls en csv. Cette macro peut être déclenchée par un script qui scrute un répertoire et lance la macro à l'arrivée d'un fichier pour faire sa transformation et déposer le fichier au bonne endroit.

Je te conseille de faire un premier traitement qui permet de contrôler le fichier avant de faire les vrais traitements. Les utilisateurs ont une imagination débordante lorsqu'il s'agit de mettre des conneries dans les fichiers.

Edit : on en parle ici : php-deprecated/modifier-xls-avec-php-t16443.html

Eléphanteau du PHP | 10 Messages

12 mai 2011, 12:07

C'est vrai qu'il me semble bien que PHP ne gère pas le xls (à moins qu'il existe une class ou une application précise...)

Cependant, en convertissant les fichiers en CSV, on peu tout faire !!!

+ 1 pour le CSV :)

Petit nouveau ! | 2 Messages

12 mai 2011, 15:05

Bonjour,

J'ai fait quelques recherches supplémentaires sur internet, et j'ai finalement trouvé deux solutions intéressantes :

- http://code.google.com/p/php-excel-reader/, qui est un peu vieillot mais qui, après quelques tests, s'avère simple et a priori efficace ;

- http://phpexcel.codeplex.com/, qui est toujours bien actif, mais donne vraiment l'impression d'être une usine à gaz.

Donc je pense avoir de quoi travailler, merci de votre aide ! :wink: