Exporter des données via php dans un fichier excel

jer2701

WRInaute occasionnel
oui effectivement j'ai trouvé ce genre de réponse, sauf que je trouve aucun tuto avec un exemple simple pour illustrer ... car le principe m'échappe ..
 

rog

WRInaute passionné
http://stephaneey.developpez.com/tutoriel/php/phpexcel/#L3

ce script fait appel au composant COM qui à mon avis ne fonctionnera que sous windows

la manip de COM existe depuis php3 et suivant mes souvenirs, l'objet etait très capricieux.

le plus simple serait de produire des csv

rog
 

jer2701

WRInaute occasionnel
ok bon je vais continuer de chercher ... Entre temps si quelqu'un trouve un lien sympa ...:roll:

merci à toi Rog
 

Malaiac

WRInaute occasionnel
En supposant que tu as une array associative du type :
Code:
$array = array(
'france' => array('francais','60','paris'),
'belgique' => array('francais','5','bruxelles'),
'italie' => array('italien','55','rome')
);

Et que tu veuilles l'exporter en csv (format avec séparateur ; ) :

Code:
// construire ta chaine csv :
// premiere ligne. Chaque valeur sera toujours séparée par un ; et la fin de ligne s'écrit \n (donc on utilise toujours " " et non ' ' )
$csv = "Pays;Langue;Population;Capitale\n"; 
// construction de chaque ligne
foreach($array as $pays => $donnees)
 { // on concatene a $csv
$csv .= "$pays;".$donnees[0].';'.$donnees[1].';'.$donnees[2]."\n"; // le \n final entre " "
 }
// toutes les donnees sont en chaine, on va envoyer le jus :
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename="monsuperfichier.csv");
print($csv);
exit;
 

Camille CWS

Nouveau WRInaute
Bonjour à toutes et tous,

je suis nouvelle sur ce forum et je cherche à faire exactement ce que ce sujet propose :lol:

Donc je me permet de le relancer plutôt que de créer un nouveau sujet car j'ai du mal à mettre en place l'outil php_writeexcel citée ci-dessous.

Il a l'air de fonctionner tout comme je voudrai :wink:

En fait j'ai un simple formulaire de contact qui envoie des infos dans une base de données sur mon serveur. Et j'aimerai offrir la possibilité à mon client de cliquer sur un lien du type : "Extraire ma base" et là ça lui ouvrirai sa base sous format Excel ou CSV à enregistrer...

Ca vous semble jouable ? Merci pour vos conseils car j'ai l'impression d'être une tite souris perdue au milieu de ce script :oops:

Bien à vous,
 

Camille CWS

Nouveau WRInaute
C'est clair j'en suis persuadée tout le monde en parle comme d'une référence en la matière !!!

Par contre pour le mettre en place c'est une autre histoire ! Y a-t-il un tuto en français qui peut aider ? ou un exemple un peut plus concret avec une base ?

Je ne veux pas trop en demander donc si je dois persister dans mes recherches n'hésitez pas, un ou deux conseils seulement me suffiront peut-être :oops:
 

easy_zik

WRInaute occasionnel
FlorentP a dit:
Il y a un moyen de générer des fichiers excels avec la classe php_writeexcel

http://www.bettina-attack.de/jonny/view ... riteexcel/
Démo de ce qu'il est possible de faire avec :
http://www.bettina-attack.de/jonny/view ... xcel/demo/

Ca fonctionne de façon autonome, pas d'histoire de composant COM, ça fonctionne sur windows/linux, testé et approuvé :)
Tien je connaissais pas ça... je teste tout de suite :D
Par contre on n'a pas l'air de pouvoir modifier un document existant (ca ne fait que créer de nouveau documents...)

Parceque c'est vrai que les objet COM c'est un peu capricieux et ça oblige d'installer Excel sur le serveur...
Et quand y'a une instance qui plante... faut aller la fermer à la main après ! Bref j'ai pas trouvé ça super fiable...
 

JLuc69

Nouveau WRInaute
Salut à tous,
Je me permet de relancer ce fil, car je suis tombé sur ce lien en faisant mes recherches.

C'est exactement ce que j'aimerais utiliser, donc j'ai téléchargé et testé.
Malheureusement, en local j'ai plein d'erreurs ! J'ai pourtant lancé le fichier exemple qui passe super bien en ligne

Que faut il faire pour ne plus avoir d'erreur ?
Code:
Notice: Undefined offset: 4 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 435
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 436
Notice: Use of undefined constant bold - assumed 'bold' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 20
Notice: Use of undefined constant color - assumed 'color' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 21
Notice: Use of undefined constant size - assumed 'size' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 22
Notice: Use of undefined constant merge - assumed 'merge' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 23
Notice: Use of undefined constant bold - assumed 'bold' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 34
Notice: Use of undefined constant italic - assumed 'italic' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 35
Notice: Use of undefined constant color - assumed 'color' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 36
Notice: Use of undefined constant size - assumed 'size' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 37
Notice: Use of undefined constant font - assumed 'font' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 38
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Use of undefined constant num_format - assumed 'num_format' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 50
Notice: Use of undefined constant num_format - assumed 'num_format' in D:\Documents\MesSites\SiteLocal\exemple_excel.php on line 51
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1152
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1334
Notice: Undefined variable: result in D:\Documents\MesSites\SiteLocal\class.writeexcel_formula.inc.php on line 1494
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 6 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1470
Notice: Undefined offset: 3 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 1209
Notice: Undefined offset: 5 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 2598
Notice: Undefined offset: 6 in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 2599
Warning: fopen(php.bmp) [function.fopen]: failed to open stream: No such file or directory in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 2862
Fatal error: Could not open file 'php.bmp'. in D:\Documents\MesSites\SiteLocal\class.writeexcel_worksheet.inc.php on line 2864

Merci à ceux qui pourront m'aider
JLuc69
 

JLuc69

Nouveau WRInaute
Dans l'attente, j'ai trouvé une autre solution.
Celle qui m'ennuie me plait beaucoup mieux, donc je testerais en ligne pour voir et je viendrai vous dire ce qu'il en est.
Merci d'avoir pris du temps

JLuc69

PS : je fais ça, dès que possible
 

JLuc69

Nouveau WRInaute
UsagiYojimbo a dit:
Tu as essayé http://phpexcel.codeplex.com/ ? (bien plus à jour)
Je viens de tester cette solution, mais dans le fichier excel je me retrouve avec toutes les informations de mon site ??
Je voie pas ce qui peut se passer, et comme je ne suis pas doué avec la langue de schakespeare... :oops:
Tu as déjà testé ?
 

UsagiYojimbo

WRInaute accro
Pas depuis plusieurs mois, je suis donc un peu rouillé.

Pour info, si tu cherches à exporter de bêtes données, tu aurais peut-être meilleur compte à exporter au format csv (plus simple).
 

JLuc69

Nouveau WRInaute
En fait, j'ai une base de données de formateurs AFPA en usinage et je voudrais faire un fichier excel avec toutes les données de chaque formateur ainsi que leur photo.
La solution trouvée précédemment, marche bien pour les centres (pas d'image) mais pour les formateurs, c'est râpé !

Si tu as une suggestion ou une piste, je suis prenneur

JLuc69
 

JLuc69

Nouveau WRInaute
Non,car le but de l'opération est de pouvoir manipuler les données par d'autres en local. Donc un fichier excel est l'ideale pour le genre de tache : trie, filtre et j'en passe
 

Discussions similaires

Haut