export vers excel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : export vers excel

par Maitrepylos » 07 nov. 2005, 11:17

Bonjour, moi je fais ceci pour générer mes fichiers Excel.

Attention marche très bien avec MS-Excel, mais pour OpenOffice, il faut un autre navigateur que Firefox/Mozilla
<?php
header("content-type: application/vnd.ms-excel");

$resu = pg_query("SELECT * FROM tatable ");



while($soluce = pg_fetch_array($resu))
{
?>
<tr>
	<td  align="left"><?PHP echo $soluce[champ1]?></TD>
 	<td  align="Left"><?php echo $soluce[champ2] ?></td>	

<?php
} 
?>
</tr>

par ruly not log » 07 nov. 2005, 10:28

J'avais un truc du genre em m'appuyant sur phpWriteExcel.
Il faudra certainement faire quelques retouches selon la configuration de ton serveur. Tu passes la requete dans l'url du script et ca génère un fichier Excel avec tes résultats ;)

http://www.phpfrance.com/forums/voir_sujet-3370.php

comme quoi comme config??? il faut accepter qqch pour que phpwriteexcel marche???

moi ya des bug partout... meme dans leur exemple... :oops:

par Maitrepylos » 05 nov. 2005, 17:32


y-a-t-il un moyen de forcer l'ouverture d'excel avec le fichier qui va etre cree???

donc en resume kan je demande a l'utilisateur de clicker un bouton, qu'un le bon fichier excel s'ouvre???

merci d'avance
header("Content-Type: application/ms-excel"); 

par rami » 04 nov. 2005, 12:59

J'avais un truc du genre em m'appuyant sur phpWriteExcel.
Il faudra certainement faire quelques retouches selon la configuration de ton serveur. Tu passes la requete dans l'url du script et ca génère un fichier Excel avec tes résultats ;)

http://www.phpfrance.com/forums/voir_sujet-3370.php

par mere-teresa » 04 nov. 2005, 12:48

y-a-t-il un moyen de forcer l'ouverture d'excel avec le fichier qui va etre cree???

donc en resume kan je demande a l'utilisateur de clicker un bouton, qu'un le bon fichier excel s'ouvre???
Oui.
/*Télécharge/download le fichier Excel pour déclaration 
										* trouvé dans la doc http://fr2.php.net/manual/fr/function.header.php
										**/
						$urlFichier = "blabla.xls";
						$Filename = "http://".$_SERVER['HTTP_HOST'].$urlFichier;
						header("Pragma: public");
						header("Expires: 0");
						header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
						header("Content-Type: application/force-download");
						header("Content-Type: application/octet-stream");
						header("Content-Type: application/download");
						header("Content-Disposition: attachment; filename=".basename($urlFichier).";");
						header("Content-Transfer-Encoding: binary");
						//header("Content-Length: ".filesize($urlFichier));
						readfile($Filename);
						$lien = '<a href=$urlFichier.'" class="downloads">Download the sheet [.xls format]</a>';
						exit ();

par ruly not log » 04 nov. 2005, 12:29

et y a t il un moyen de mettre en forme mon ficher excel... comme emttre un logo et dimensioner les colonnes????

par ruly » 14 oct. 2005, 11:31

Utilise une class.

Code : Tout sélectionner

/* * This is the Spreadsheet::WriteExcel Perl package ported to PHP * Spreadsheet::WriteExcel was written by John McNamara, [email protected] */
Moi j'utilise celle la !
j'essaie de faire mon doc excel un peu plus joli... mais j'y arrvie pas avec les differentes librairies. ya tjrs un bug a quelque part....

ben moi j'arrive pas a l'utilisee.....

je comprend pas comment meme ces examples ils y a pleins d'erreurs...

toi tu la trouve simple???

t'as un tutoriel a quelque part???

merci d'avance

ps j'utilise easyphp 1.8......
php 4.3.10

par ruly » 10 oct. 2005, 16:15

merci pour vos reponses, mias j'ai reussi sans une seule librairie... j'attaque et je fais des boucles...

mais autres question qui s'y rapporte:

y-a-t-il un moyen de forcer l'ouverture d'excel avec le fichier qui va etre cree???

donc en resume kan je demande a l'utilisateur de clicker un bouton, qu'un le bon fichier excel s'ouvre???

merci d'avance

par sadeq » 10 oct. 2005, 12:58

Et pourquoi ne pas voir les choses autrement ?

On sait que Excel peut importer des données de bases de données, dans ce cas, tu peut créer et mettre en forme une feuille excel liée à ta base de données Mysql (par ODBC machine) (Données > données externes > créer une requête)

En suite mettre à disposition la feuille excel sur le serveur web (par un lien Hypertexte ou dans un frame/iframe) exemple :
La page etudiants.php:
<?
if (!file_exists("etudiants.xls")) {echo "<p><b>Désolé, le fichier des étudiants est absent!</b>"; exit;}
?>
<h1>Liste des étudiants</h1>
<iframe src="etudiants.xls" width="100%" height="100%>"</iframe>
Pour démarrer automatiquemnt l'aperçu avant impression il est possible d'activer une macro autoexec dans le classeur excel :
Private Sub Workbook_Open()
ActiveWindow.SelectedSheets.PrintPreview
End Sub

NB:
cela suppose que le client dipose de l'application excel sur sa machine.
Et que la sécurité locale autorise l'exécution des macros

par heddicmi » 10 oct. 2005, 12:52

Juste pour dire qu'il existe des développements pré fait pour gérer la création d'un fichier excel directement, en déterminant la valeur à mettre pour la cellule... Je ne sais pas ce que ça peux valloir vraiment, mais tu peux te pencher dessus...

par Elie » 10 oct. 2005, 12:50

Utilise une class.

Code : Tout sélectionner

/* * This is the Spreadsheet::WriteExcel Perl package ported to PHP * Spreadsheet::WriteExcel was written by John McNamara, [email protected] */
Moi j'utilise celle la !

export vers excel

par ruly » 10 oct. 2005, 12:28

bonjour,

apres avoir cherche un peu sous google et sur differents forum je m'en remet a vous.
voila mon probleme: j'aimerais exporter le resultat d'une requete vers un document excel pour que l'utilisateur puisse faire son impression comme bon lui semble....

je pensais que ca allait etre simple mais apres avoir lu bcp de choses je sais plus trop comment m'y prendre.

je pensais prende un fichier stiyl: impression.csv

et inserre chaque resultat sans une nouvelle ligne.
mais ca ne m'insere que tout dans la 1ere case donc pas tres partique au final.
<?php
$sql = "select * from produit order by produit_num";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$fp =  fopen("cuisine_impression.csv","w");
$i=0;

while ($data = mysql_fetch_assoc($req)) {
	fwrite($fp,$data['produit_designation']); fwrite($fp,trim('br'));
	echo 'produit_num '.$i.' = '.$data['produit_designation'].'<br>';
	$i++;
}
fclose($fp);                  
?>
cette requete est pour faire des test mais ca ne marche deja pas bien la donc mes test servent a pas grand chose...