Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1070 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/MySQL] Automatisation convertion xls -> csv pour update BDD (en p

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/MySQL] Automatisation convertion xls -> csv pour update BDD (en p

n°1588574
Moriar6
Posté le 19-07-2007 à 08:20:02  profilanswer
 

Bonjour je suis confronté à un probleme assez épineux et je ne vois actuelement pas comment le résoudre, c'est pourquoi je solicite vôtre aide.
 
Il me faut automatiser l'update d'une base de donnée depuis un fichier xls (impossible de l'avoir directement en .csv).
 
L'outil est actuellement developpé en PHP et la personne devant l'utiliser n'étant pas informaticien et devant effectuer cette action tout les matin il faut que tout soit automatiser d'un simple clic (un submit sur l'interface utilisateur).
 
Faire l'update d'une base de donnée depuis un fichier .csv n'est pas difficile (avec une simple fonction explode on separe les ; ) mais ce qui me pose probleme c'est de passer le fichier au format csv.
 
L'outil est actuellement developpé en PHP mais n'est pas trés avancé.
Donc si vraiment il n'existe strictement aucune solution en PHP je peux reprendre le tout en VB.
 
Je vous remercie d'avance pour vôtre aide.

mood
Publicité
Posté le 19-07-2007 à 08:20:02  profilanswer
 

n°1588677
NewsletTux
<Insérez ici votre vie />
Posté le 19-07-2007 à 11:36:30  profilanswer
 

sous excel, il n'y a qu'à convertir le fichier : Fichier > enregistrer sous et dans "type de fichier", choisir le CSV. La personne n'aura plus qu'à uploader son fichier CSV, non ?

n°1588680
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-07-2007 à 11:39:25  profilanswer
 

et si c'est trop compliqué de faire ça, tu lui fais un macro qui produit le résultat identique en appuyant sur un seul bouton.

n°1588691
Moriar6
Posté le 19-07-2007 à 11:46:10  profilanswer
 

Bien sur Fichier > enregistrer sous  c'est ce que je fais moi.
Mais la personne pour qui je developpe l'outil doit effectuer cette tache tout les matin et veut absolument pouvoir le faire en 1 ou 2 clic.
 
Au sujet de la macro peux-tu expliciter ?

n°1588719
rengzehn
Posté le 19-07-2007 à 11:59:13  profilanswer
 

Il faut que l'objet COM soit installé sur le serveur ou tourne php.
http://stephaneey.developpez.com/t [...] /phpexcel/

n°1588724
anapajari
s/travail/glanding on hfr/gs;
Posté le 19-07-2007 à 12:05:01  profilanswer
 

Moriar6 a écrit :

Au sujet de la macro peux-tu expliciter ?


là c'est assez bien expliqué :o

n°1588728
Moriar6
Posté le 19-07-2007 à 12:12:46  profilanswer
 

En fait je ne sais pas ce qu'est une macro (sous excel ?).
Mais je vais tenter de faire ça en passant par le COM, le site de anaparjari à l'air trés bien fait ça va beaucoup m'aider.

n°1588871
rufo
Pas me confondre avec Lycos!
Posté le 19-07-2007 à 15:37:30  profilanswer
 

je te déconseille COM car c'est assez lourd en ressources serveur. En +, y'a un bug : quand tu veux fermer excel par php, celui reste en mémoire. Donc, au bout de qq utilisations tu vas saturer la RAM (à moins que ce bug n'ait été corrigé depuis). Perso, je pense qu'il ne faut pas utiliser COM sur un serveur en production.
Le coup de la macro sous Excel me paraît mieux. Tu peux très bien faire la macro de transfo de xls->csv sur l'événement de fermeture du fichier excel. Comme ça, c'est transparent pour l'utilisateur (pas besoin de cliquer sur un bouton) ;)

n°1588924
Moriar6
Posté le 19-07-2007 à 16:26:49  profilanswer
 

D'accord je vais donc abandonner le COM, surtout que si ce que tu me dis est toujours exacte ce n'est pas du tout viable comme solution vu que le script sera executé tout les matin, surtout que le service informatique ne m'aide vraiment pas au niveau des ressources (au contraire).
 
Il ne me reste donc plus qu'à me documenter sur les macro excel :)

n°1588942
rengzehn
Posté le 19-07-2007 à 16:42:31  profilanswer
 

c'est vraiment de la merde ces formats de fichiers  :( et oué je confirme  COM c'est toujours buggé, des threads excel subsitent meme après fermeture et pas que par php mais tout ce qui peut exploiter com. j'vois pas trop de solution coté serveur.
 

mood
Publicité
Posté le 19-07-2007 à 16:42:31  profilanswer
 

n°1588950
Moriar6
Posté le 19-07-2007 à 16:49:53  profilanswer
 

D'accord par contre il y q des petites choses que je ne comprend pas sur les macro excel.
 
Une macro est-elle ratachée à un fichier excel en particulier ou bien peut elle être executée sur tout les classeurs de tout les fichier ?

n°1588966
rufo
Pas me confondre avec Lycos!
Posté le 19-07-2007 à 17:20:45  profilanswer
 

elle est contenue dans le fichier xls.
 
Dans excel, fait afficher la barre "Visual Basic" puis clique sur l'icône qui a comme info-bulle "Visual Basic Editor". Là, dans le menu de gauche, tu devrais voir tes feuilles et thisWorkbook.
Tu doubles-clic sur thisworkbook : là, t'a une page blanche qui s'affiche avec juste au-dessus 2 liste déroulantes.
Dans la première, tu sélectionnes Workbook. Ca te crée une en-tête de fonction open() que tu peux virer. Dans la 2ième liste, tu sélectionnes "BeforeClose". Ca te crée une en-tête de fonction : là dedans, tu mets ton code pour enregistrer en csv avant la fermeture du classeur. ;)

n°1589104
Moriar6
Posté le 20-07-2007 à 08:22:10  profilanswer
 

Oui j'ai vu tout ça hier en cherchant un peut sur google.
 
Le probleme c'est que le fichier .xls que j'obtient est recréé chaque jour et non pas mis à jour.
Donc vu que la maccro est dans le fichier .xls cette solution n'est pas viable vu que s'en sera un nouveau chaque jour.

n°1589117
anapajari
s/travail/glanding on hfr/gs;
Posté le 20-07-2007 à 09:10:08  profilanswer
 

tu le recrées tous les jours comment?  
T'as pas moyen d'y intégrer la macro quand tu le crées?

n°1589146
Moriar6
Posté le 20-07-2007 à 09:50:11  profilanswer
 

Non tout les jours c'est créé par une requete surf et ça arrive dans une boite PAM (je connais aucune de ces deux technologie c'est juste ce qu'on m'a expliqué).
Ce n'est pas moi qui le créé, c'est déjà fait par le systeme actuel.

n°1589320
rengzehn
Posté le 20-07-2007 à 13:39:01  profilanswer
 

Re

 

J'ai aussi besoin de traiter de l'excel. Je suis tombé la dessus :

 

http://sourceforge.net/projects/phpexcelreader

 

testé, ça fonction bien, ça ouvre le flichier excel et ça extrait le contenu, ça ne demande aucun complément, c'est stand alone.

 

y'a quelques modifs à faire mais rien de compliqué (un chemin foireux dans une des fichiers à remplacer), y'a deux fichiers avec les classes. et les fichiers d'exemple.

 


Message édité par rengzehn le 20-07-2007 à 13:39:32
n°1589513
Moriar6
Posté le 20-07-2007 à 16:40:07  profilanswer
 

D'acord je te remercie.
 
Je vais essayer de me dépatouiller avec mais mais il y a de grande chances pour que j'en reste là ....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/MySQL] Automatisation convertion xls -> csv pour update BDD (en p

 

Sujets relatifs
[PHP]Deplacement de curseurUn logiciel pour administrer une base de donnée MySQL ?
[Résolu] Lancement script avec MySQL Query BrowserConnection BDD informix avec ODBC via PHP
[PHP] tcpdf / script bookmark et utf8Pb d'insertion CSV dans MySQL
[Projet] RTS/RPG : Recherche codeur PHPForum PHP : Neteco & Clubic
Interpréteur PHP sans le réseau 
Plus de sujets relatifs à : [PHP/MySQL] Automatisation convertion xls -> csv pour update BDD (en p


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR