OVH Cloud OVH Cloud

Word/exel et Mysql

6 réponses
Avatar
Newbee
Bonjour

J'ai un document word , et un document exel qui ne bouge
pas, c'est toujours la meme mise en page, seul changent les
valeurs en regard de la mise en page, comme : le nom, le
pr=E9nom, une date.
Ces "variables" sont dans une base de donn=E9es Mysql.
La question est : est il possible de faire passer les
donn=E9es contenues dans la base Mysql a des endroits definis
du document word ou exel ? Et si la base Mysql est online
en plus ? c'est possible ?

6 réponses

Avatar
Misange
Bonjour,
Si t'attends quelques jours (mettons pour être plus raisonnable la fin
de l'année), j'essaie de préparer un truc sympa pour gérer une base
mysql depuis excel. Maintenant faut quand même pas exagérer, excel ne
cause pas le php couramment et il faut bidouiller. Ce qui est
envisageable c'est d'avoir en local une copie de tes données , de les
tripatouiller dans excel et de les uploader sur ta base mysql. Cherche
un fil de ce WE initié par Christian Herbé sur ce sujet, tu verras qu'il
a déjà avec Popi et Michel fait un sacré boulot dans ce sens.
Il est tout à fait possible de faire communiquer la base mysql avec
excel mais que je sache, pas complètement directement : tu dois quand
même exporter ta base en format CSV ou text (sql) puis sélectionner dans
ces exports les données à récupérer dns ta feuille excel (ça c'est pas
trop dur). C'est le genre de phrase qui si elle est fausse va t'amener à
coup des propositions des meilleurs bidouilleurs de ce forum ;-).

Qu'est ce que tu souhaites faire ? un publipostage à partir de ta base
mysql ?

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

le 04/12/2003 01:07:
Bonjour

J'ai un document word , et un document exel qui ne bouge
pas, c'est toujours la meme mise en page, seul changent les
valeurs en regard de la mise en page, comme : le nom, le
prénom, une date.
Ces "variables" sont dans une base de données Mysql.
La question est : est il possible de faire passer les
données contenues dans la base Mysql a des endroits definis
du document word ou exel ? Et si la base Mysql est online
en plus ? c'est possible ?


Avatar
Christian Herbé

Bonjour,
Maintenant faut quand même pas exagérer, excel ne
cause pas le php couramment et il faut bidouiller.


Il y a quand même une solution, à condition que le webmestre ait prévu
ce cas. Soit la table mysql suivante nommée xl2mysql2xl:

eleves math francais
toto 10 15
titi 6 12

Sur le serveur free, posons ce script PHP-MYSQL nommé "req_xl_cellule.php":
<?
$bdd = mysql_connect('sql.free.fr','login','passwd');
mysql_select_db('nom de la base',$bdd);
$requete=mysql_query("SELECT * FROM xl2mysql2xl where eleves =
'$nom'");
//on renvoie la note de math
print mysql_result($requete , 0,1);
mysql_close();
?>

Nous voulons récuperer la note de math de toto. Faisons maintenant la
requete pour une cellule;
Dans XL2000, menu données,Données externes, nouvelle requete web
dans l'espace "parcourir le web", entrer l'url suivie par ?nom=toto ex:
http://cherbe.free.fr/divers/req_xl_cellule.php?nom=toto

Testé et ça marche !
On peut ajouter d'autres variables pour sélectionner soit le nom de
l'élève, soit la note de français ...

C'est fou ce que l'on peut faire dans ce domaine !

Avatar
Misange
et voili voilà suffisait de demander ;-)
Pftt, je sens que ça va être une usine à gaz mon truc mais c'est
vraiment tellement plus pratique de tout faire depuis excel !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

le 04/12/2003 12:05:

Bonjour,
Maintenant faut quand même pas exagérer, excel ne cause pas le php
couramment et il faut bidouiller.



Il y a quand même une solution, à condition que le webmestre ait prévu
ce cas. Soit la table mysql suivante nommée xl2mysql2xl:

eleves math francais
toto 10 15
titi 6 12

Sur le serveur free, posons ce script PHP-MYSQL nommé "req_xl_cellule.php":
<?
$bdd = mysql_connect('sql.free.fr','login','passwd');
mysql_select_db('nom de la base',$bdd);
$requete=mysql_query("SELECT * FROM xl2mysql2xl where eleves =
'$nom'");
//on renvoie la note de math
print mysql_result($requete , 0,1);
mysql_close();
?>

Nous voulons récuperer la note de math de toto. Faisons maintenant la
requete pour une cellule;
Dans XL2000, menu données,Données externes, nouvelle requete web
dans l'espace "parcourir le web", entrer l'url suivie par ?nom=toto ex:
http://cherbe.free.fr/divers/req_xl_cellule.php?nom=toto

Testé et ça marche !
On peut ajouter d'autres variables pour sélectionner soit le nom de
l'élève, soit la note de français ...

C'est fou ce que l'on peut faire dans ce domaine !








Avatar
Christian Herbé


est il possible de faire passer les
données contenues dans la base Mysql a des endroits definis
du document word ou exel ?


Démo ici:
http://cherbe.free.fr/xl2mysql.html#obj3

Avatar
Bonjour

Pardon j'etais absent.

Wahouu..merci de vos réponse. Je teste ca.

Je sais qu'il est plus pratique de tout faire a partir
d'exel , mais moi j'utilise....openoffice sous nux, apache,
mysql, j'ai cree une base pour mes besoin perso, et avec le
temps, la base est devenue interessante pour tout mes
collegues, qui eux sont sous win98 (oui oui je sais, et
excel (version je sais pas)) comme je suis fainéant, je me
dis qu'une fois dans la base, les données peuvent bien se
mettre en page tout seul.

Et oui, c'est une espece de mailling de convocations,
toujours la meme chose un nom, des horaires , toujours a la
meme place dans un document type word ou excel.

Mais comment faire pour creer 1 document par entrée (chaque
entrées contient plusieurs champs) autrement dit, j'entre
dans ma base 10 nouvelles convocation (10 noms, 10 horaires
, ect..) comment a l'ouverture d'excel/word liu dire
d'aller chercher les nouvelles données et de creer autant
de .xls .doc qu'il y a d'entrées dans la base ??

Merci encore de votre aide, vraiment sympa, je teste tout ca.
@+
Avatar
Newbee
Pardon j'ai oublié de renseigner le champ nom du message
precedent.


Quand je regarde ton script Christian, je regrette de ne
pas etre plus fort en php...(nivo sub 0 )

Merci de aide et de ton lien http

@+