Perser un fichier EXCEL (.XLS) en PHP...?

WRInaute impliqué
Bonjour,

Je recherche un script PHP qui permet de parser un fichier EXCEL XLS... Il existe un projet PHP-ExcelReader http://sourceforge.net/projects/phpexcelreader/ mais qui n'est plus sur sourceforge... il a migré sur SVN (à priori ce site : http://subversion.tigris.org/), mais je ne retrouve pas sa trace...

Avez-vous déjà utilisé cet outil?
Plus généralement, avez-vous déjà parsé des fichiers XLS en PHP??? Comment vous y êtes vous pris???

D'avance merci ;-)
 
WRInaute discret
Ma question se rapproche du sujet, alors je poste à la suite :

Existe-t-il un moyen de copier à un endroit voulus sur une page php un nombre figurant dans une cellule d'un xls ?
Je développe un site sur la géographie, il y a beaucoup de données à mettre à jour continuellement, j'avais donc l'attention de créer un xls en tant que base de données..
 
WRInaute impliqué
Monky a dit:
Ma question se rapproche du sujet, alors je poste à la suite :

Existe-t-il un moyen de copier à un endroit voulus sur une page php un nombre figurant dans une cellule d'un xls ?
Je développe un site sur la géographie, il y a beaucoup de données à mettre à jour continuellement, j'avais donc l'attention de créer un xls en tant que base de données..

He bien oui Monky , c'est bien le but de parser un fichier EXCEL ;-)
 
WRInaute impliqué
jarreweb a dit:
le plus simple est d'exporter ton fichier excel en CSV et d'utiliser la fonction fgetcsv()
http://fr2.php.net/fgetcsv

D'un point de vue strictement informatique tu as raison jarreweb...
Mais dans mon cas, je ne peux pas demander aux utilisateurs de fiare un fichier CSV... Même si pour nous tous ici celà semble d'une simplicité infnatine, ce n'est pas le cas de l'utilisateur lambda....:!:

Existe-il une moulinette XLS->CSV qui pourrait fonctionner en batch coté serveur??? enfin, ça risque de revenir au même que de parser le fichier XLS.....
 
WRInaute discret
Il faut utiliser l'extension.CSV de excel et non pas .XLS qui est propriétaire et fermé, donc avec des parser, si ils existent, peu fiables.

Un enregistrer sous en .csv sous excel et c'est tout.

Après, parser un .csv est facile
 
WRInaute impliqué
une autre possibilité est d'avoir un serveur sous windows avec Excel d'installer et d'utiliser l'api windows/DOM de php pour accéder au fichier excel

mais ca fait beaucoup de conditions
 
WRInaute discret
OJAL a dit:
Monky a dit:
Ma question se rapproche du sujet, alors je poste à la suite :

Existe-t-il un moyen de copier à un endroit voulus sur une page php un nombre figurant dans une cellule d'un xls ?
Je développe un site sur la géographie, il y a beaucoup de données à mettre à jour continuellement, j'avais donc l'attention de créer un xls en tant que base de données..

He bien oui Monky , c'est bien le but de parser un fichier EXCEL ;-)

Ce que je voudrais faire, c'est copier une seule cellule de excel à un endroit voulus...
Ex : Nbs habitant en France (en millions) : 63
Lorsque j'aurais à le passer à 64, je voudrais aller dans mon excel, taper 64, et ainsi toutes les pages comportant l'appel de la cellule "nb hab en Fr) soit changées.

Mais je n'y arrive pas :(
 
WRInaute discret
Oui oui, en utilisant CSV, c'est possible, surtout si tu connais la "case" à l'avance.

Une autre solution plus propre : Pourquoii n'utilise tu pas une base de données Mysql par exemple ?
phpMyAdmin sait gérer les import en csv de excel en plus.
 
WRInaute discret
Si tu n'as jamais fait du mysql, ca risque d'être un peu difficile, maitrise tu php ?

A la limite si tu utilise phpMyAdmin pour modifier tes données, tu n'as même plus besoin de excel.

Par contre, c'est peut être moins souple que Excel, mais si c'est pour changer quelques valeurs de temps en temps, tu le fais direct avec phpMyAdmin, sinon, tu exportes en CSV sous Excel, tu modifie et tu réimportes.

La première étape c'est de définir une structure pour ta table en base de données (c'est en fait l'équivalent de tes colonnes sous excel).
 
WRInaute discret
Du fait que je ne maitrise pas mySql ou phpMyAdmin, je prefère rester sur mon idée de départ concernant Excel...
Je connais les bases de php et avec toutes les ressources disponibles je pense que je pourrais m'en sortir.

Mon seul vrai problème est le code que je dois utiliser pour copier le "nombre" d'une cellule excel (exporter en csv) dans ma page .php et comment mettre en forme ma bdd sous excel (je pense qu'il faut mettre qu'un type de données par feuille?)
 
WRInaute discret
Ce que je ne concoit pas, c'est que tu veux utiliser Excel comme une bdd, alors que ça en ai pas une (et dans ce cas, il va falloir que tu recodes tout un système de gestion de base de données), alors que cela existe déjà avec Mysql.

A mon avis, tu ferai mieux de perdre du temps à apprendre un peu mysql avec phpMyAdmin, plutôt qu'à recoder un SGBD utilisant des fichiers excels...

En plus, mysql pourra te servir à plein d'autres choses ensuite.

Je sais pas si d'autres sont de mon avis sur la question...
 
WRInaute impliqué
khantic a dit:
Je sais pas si d'autres sont de mon avis sur la question...

Tout à fait
Faut utiliser les bonnes outils pour faire les bonnes actions.

Puis en plus question performance, si à chaque appel de page tu parses un fichier texte, ca va pas être formidable.

Puis si un jour tu veux faire un autre site, avec d'autres fonctionnalités et bien tu seras content d'avoir découvert le potentiel d'une base de données.

Bref allez dans cette direction serait une erreur à mon sens aussi, après si c'est pour faire qu'un seul site, que tu ne comptes pas en faire d'autres ensuite et que tu ne comptes pas faire évoluer celui-là alors un bricolage comme Excel/csv te suffit why not.... mais tu seras très vite limité.
 
WRInaute discret
khantic et bozoleclown vous m'avez convaincus...
Simple petite question, après j'arrête avec ce sujet (et j'en réouvrirais avec mes problèmes de mysql!), phpmyAdmin fonctionne avec easyPhp?
 
WRInaute impliqué
Monky a dit:
khantic et bozoleclown vous m'avez convaincus...
Simple petite question, après j'arrête avec ce sujet (et j'en réouvrirais avec mes problèmes de mysql!), phpmyAdmin fonctionne avec easyPhp?

phpmyadmin est déjà installé dans EasyPhp
 
Discussions similaires
Haut